【发布时间】:2021-08-27 20:48:15
【问题描述】:
我正在尝试在 for 循环中创建动态数据框名称。我正在使用 R 中的粘贴函数来编写数据框名称。看下面的例子:
for (i in 1:3){
paste("Data",i,sep="") <- data.frame(colone=c(1,2,3,4),coltwo=c(5,6,7,8))
paste("New data",i,sep="") <- paste("Data",i,sep="") %>% mutate(colthree=(colone+coltwo)*i) %>% select(colthree)
}
上面的代码不起作用,因为 R 不将粘贴理解为数据框名称。我找到了一些使用 assign 函数的解决方案,这些解决方案可以帮助我的第一行代码使用:assign(paste("Data",i,sep=""),data.frame(colone=c(1,2,3,4),coltwo=c(5,6,7,8))) 但我不知道如何处理第二行,其中两次使用 paste 函数来引用多个数据帧。不确定使用嵌套的分配函数是否有效,即使这样做,代码在更复杂的代码中看起来也会很糟糕。
我知道可能有关于如何将上面的 2 行组合成单个分配语句或其他类似解决方案的想法,但是根据我上面的示例,有没有办法在一行代码中引用 2 个动态数据帧名称?
非常感谢:)
【问题讨论】:
标签: r dataframe for-loop dynamic assign