2017-02-14 39 views
2

所以我有一个看起来像这样的数据:保存变量时用于()函数的替代方法?

Merged[[1]] 
Date A B C 
01/01 1 2 3 

Merged[[2]] 
Date B1 B2 B3 
01/01 4 5 6 

等。我要救一个新的变量,Merged2,使用特定的指数MergedData这样的:

Merged2 <- 0 
for (i in sig){ 
    Merged2 <- Merged[[i]] 
    FileName <- paste("Merged2",".csv", sep="") 
    write.csv(Merged2, file=FileName) 
} 

但勿庸置疑,这不仅节省了非常最后我的签名。我也试过:

Merged2 <- 0 
for (i in sig){ 
Merged2 <- Merged2[c(1, Merged[[i]])] 
} 

但随后在TrendData返回错误[C(1,MergedData [我]])]:无效标类型 '列表'。

是否有替代方法来做到这一点,而不是依靠for()函数?

+3

您正在命名每个文件“Merged2.csv”并覆盖很多次。 –

+0

'paste0(“Merged2”,sig,“。csv”)'或类似的东西可以用来区分这些部分。 – thelatemail

+1

@MatthewLundberg啊,我明白了。所以我应该把它放在for()函数之外。另外,注意到。我将删除链接。 – KeynesCrackpot

回答

0

您可以对大部分工作进行矢量化,然后使用循环创建文件。没有任何数据在这里继续我们去...

## subset the Merged list by sig to get new list 
Merged2 <- Merged[sig] 
## create the file names 
Filenames <- paste0("Merged2", sig, ".csv") 
## here is the multivariate loop that creates the files 
Map(write.csv, x = Merged2, file = Filenames) 

输出到控制台将是一个NULL的列表,这是预期的。您可以使用list.files()来检查文件是否存在。

相关问题