循环中的data.frame-R

循环中的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.

在下面的脚本中,我希望用文件名和不同的值填充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.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)
}