我是R的新手,所以如果这是一个基本的问题,我提前道歉,但我已经到处寻找了,但还没有找到答案。
我想制作一个包含多个数据框的文件。(一个例子是BradleyTerry2包中的数据集"flatlizards“。该文件被称为“扁平蜥蜴”,但其中有两个数据帧--“竞赛”和“预测”。当您要求查看数据“扁平蜥蜴”时,两个数据框都分别显示在其相应的标题下)。
如何将两个单独命名的数据框连接到一个文件中?另外,如何使用CSV文件执行此操作?所有数据是否都需要在一个CSV文件中,还是需要在多个文件中?提前谢谢你,我真的很感谢你的帮助。
发布于 2012-08-01 14:13:09
有问题的对象是一个列表。您可以通过使用以下代码来查看:
library(BradleyTerry2)
data(flatlizards)
str(flatlizards)您可以看到它是一个2的列表,它的元素是单独的数据帧。
您可以很容易地在这样的列表中将对象组合在一起:
a <- data.frame(x=rnorm(10), y=runif(10))
b <- data.frame(w=rnorm(20), z=runif(20))
ablist <- list(a, b)然后,采用@mrdwab所采用的方法。
或者,如果您希望它们位于一个数据帧或一个csv中,您可以尝试使用merge。
发布于 2012-08-01 14:06:40
下面是一个非常基本的例子:
# Clean out your current workspace
rm(list=ls())
# Create two objects
a = 1:10
b = letters[1:10]
# Save them to one file
save(a, b, file="demo.RData")
# Remove them from the workspace
rm(a, b)
ls()
## character(0)
# Re-load the data
load("demo.RData")
ls()
## [1] "a" "b"
a
## [1] 1 2 3 4 5 6 7 8 9 10
b
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"同样的原则也适用于CSV文件中的数据。只需读取它们,执行任何需要进行的清理,然后将它们捆绑到单个.RData文件中。
还有save.image()可以保存当前工作区中的所有内容。
更新:在阅读了Sebastian的答案后,您似乎对创建list的data.frames更感兴趣。如果这是您感兴趣的工作,并且您需要从单独的CSV文件中读取数据,请参阅this post以帮助您入门。
发布于 2012-08-01 15:50:49
要通过sebastian-c完成解决方案,您还可以命名列表的组件:
a <- data.frame(x=rnorm(10), y=runif(10))
b <- data.frame(w=rnorm(20), z=runif(20))
ablist <- list(first=a, second=b)
ablist$first
ablist[[1]]
ablist$second
ablist[[2]]https://stackoverflow.com/questions/11753340
复制相似问题