【发布时间】:2014-12-08 10:18:54
【问题描述】:
我的问题与此处的问题 (Rename data frame) 类似,但我正在尝试根据旋转变量名称对其进行重命名。
df2<-data.frame(a=seq(1:5),b=c(1:10), c=c(11:20))
df2$a = c('alpha', 'alpha','alpha', 'beta', 'beta', 'gamma', 'beta','alpha', 'alpha','alpha')
variables<- c('alpha', 'beta', 'gamma')
for (var in variables) {
alpha<- df2
beta<- df2
gamma<- df2
}
我不想用三行来创建名为 alpha、beta、gamma 的 df2 副本,我想要一行来创建 df2 的副本,所以有
var <- df2
在循环内部,并且随着 var 与循环一起旋转,因此在其三个循环通过循环后,当它通过循环时,我将拥有如上的 alpha、beta、gamma。 我的真正目的是我使用相同的数据框,然后对其进行多次计算,然后想在循环中当前使用的变量之后命名生成的数据框。
我知道在 bash 中我会执行 data_${var},它会导致 data_alpha、data_beta、data_gamma,但是在 R 中呢?
有人知道怎么做吗?
谢谢!
【问题讨论】:
-
不清楚您在这里要做什么。您能否解释或提供来自
df2的所需结果您是否正在寻找类似list2env(split(df2, df2$a), .GlobalEnv)的内容?这会将df2拆分为df$a,然后将变量alphabeta和gamma分配给全局环境 -
这就是数据结构存在的原因。将你的数据框放在一个列表中,然后每个数据框的“名称”可以很容易地以编程方式进行操作。
-
我刚刚意识到我在链接中回答了这个问题。这是我的第一个答案之一,现在回想起来,这不是很好:)