【发布时间】:2012-07-11 07:15:15
【问题描述】:
我想编写一个循环来从一组已经存在的矩阵创建多个数据帧。 我已经使用代码导入并创建了这些:
temp<-list.files(pattern="*.csv")
ddives <- lapply(temp, read.csv)
所以“ddives”是我的一组 csv 文件。我现在想使用循环版本的代码从其中的每一个中创建一个数据框:
d.dives1<- data.frame(ddives[1])
【问题讨论】:
-
... read.csv 不是已经返回 data.frame 了吗?
-
不,不幸的是,使用此代码它刚刚返回了 165 个(我拥有的文件数)列表,我需要将这些列表转换为数据帧
-
我非常怀疑它会返回 165 个列表。它更有可能返回 1 个包含 165 个数据帧作为元素的列表。 ddives[[1]] 会给你第一个 data.frame,ddives[[2]] 会给你第二个...
-
如果您只想将它们放在单独的变量中,那么将其保留为列表可能会更聪明、更有效......
-
数据是否相关?你会在所有
data.frames上做类似的操作吗?如果你是,最好(更有效,正如@Dason 指出的那样)将它们保留为一个列表并熟悉apply系列函数。
标签: r csv for-loop dataframe lapply