我是r的新手,正在开发代码来模拟我的工作的一组方程式。
我想基于输入变量创建多个空数据帧。也就是说,如果n = 4,我想创建4个单独的数据帧,这些数据帧具有不同的名称,例如x1,x2,x3,x4。如果n = 10,我想要10个数据帧等。
我希望能够在全局环境中看到这些数据框(打开看起来类似于excel表)。
答案 0 :(得分:2)
要使答案具有通用性,因为这似乎是您想要的,我会制作a list
,然后使用dataframe
s填充该列表。
my_list <- list()
for (i in seq(10)) {
my_list[[i]] = data.frame(x=runif(100), y=rnorm(100))
}
执行此代码后,您将拥有一个包含10个项目的list
,标记为1 - 10.每个项目都是自己的dataframe
,其中包含2列:一列包含100个统一的随机数,另一个包含100个高斯随机数(从standard normal distribution中选择)。
如果您想访问列表中的第三个数据帧,只需键入
即可my_list[[3]]
获取该数据帧的内容。
(列表使用R中的double bracket notation,你只需要“习惯它”。但是很容易弄清楚如何正确使用它们。例如,my_list[3]
会返回一个 list
,其中只有一个项目,即第三个dataframe
。但是my_list[[3]]
- 注意额外的括号 - 将返回 {{ 1}} ,第三个dataframe
。)
答案 1 :(得分:1)
使用R Studio运行R并获取 Excel-spreadsheety 查看数据:
View (name.of.your.list [[n]])
其中name.of.your.list是data.frames列表的名称,n是您要查看的第n个data.frame。
如果你有一个data.frames列表列表,那就继续标记[[n's]]
View (name.of.your.list [[n]][[n2]])
举个例子:
dat.all = list ()
dat.all [[1]] = list ()
dat.all [[1]][[1]] = data.table ("lol" = 1:5, "whatever" = 6:10)
View (dat.all [[1]][[1]])
另外,如果你是我的新手,那么我建议学习data.table而不是data.frame,它会更强大,并且可能会阻止你制作data.frames列表。
干杯。