循环中的data.frame-R
在下面的脚本中,我希望用文件名和不同的值填充a data.frame,但我总是得到相同的值,如何修复它 脚本:循环中的data.frame-R,r,R,在下面的脚本中,我希望用文件名和不同的值填充a data.frame,但我总是得到相同的值,如何修复它 脚本: folder <- "E:/Testry" i<-0; k<-10; for(filename in (paste0(folder,'/',list.files(folder)))) { print(filename) k<-sin(k); i<-cos(i); mydata <- data.frame(i,k, list.
folder <- "E:/Testry"
i<-0;
k<-10;
for(filename in (paste0(folder,'/',list.files(folder))))
{
print(filename)
k<-sin(k);
i<-cos(i);
mydata <- data.frame(i,k, list.files(folder))
i<-i+1;
k<-k-1;
}
文件夹尝试在循环之前创建一个空的data.frame:
mydata <- data.frame(numeric(0), numeric(0), character(0))
mydata您也可以在不使用循环的情况下执行此操作:
files <- list.files( folder )
i <- cos( seq.int( from = 0, by = 1, length.out = length(files) ) )
k <- sin( seq.int( from = 10, by = -1, length.out = length(files) ) )
mydata <- data.frame( "V1" = i, "V2" = k, "V3" = files )
请注意,在for
循环中,每个[row]
都取决于它上面的[row-1]
是的,我想更改循环中的I和k。
files <- list.files( folder )
i <- cos( seq.int( from = 0, by = 1, length.out = length(files) ) )
k <- sin( seq.int( from = 10, by = -1, length.out = length(files) ) )
mydata <- data.frame( "V1" = i, "V2" = k, "V3" = files )
new <- data.frame( files = list.files( folder ), i = NA, k = NA )
new$i[1] <- cos(0)
new$k[1] <- sin(10)
for( row in 2:nrow(new)){
new$i[row] <- cos(new$i[row-1]+1)
new$k[row] <- sin(new$k[row-1]-1)
}