例如,我有这三个数据集(在我的情况下,它们还有更多的变量):
data_frame1 <- data.frame(a=c(1,5,3,3,2), b=c(3,6,1,5,5), c=c(4,4,1,9,2))
data_frame2 <- data.frame(a=c(6,0,9,1,2), b=c(2,7,2,2,1), c=c(8,4,1,9,2))
data_frame2 <- data.frame(a=c(0,0,1,5,1), b=c(4,1,9,2,3), c=c(2,9,7,1,1))
在每个数据框上,我想添加一个由该数据框上现有变量转换而来的变量。我希望通过循环来实现这一点。例如:
datasets <- c("data_frame1","data_frame2","data_frame3")
vars <- c("a","b","c")
for (i in datasets){
for (j in vars){
# here I need a code that create a new variable with transformed values
# I thought this would work, but it didn't...
get(i)$new_var <- log(get(i)[,j])
}
}
你对此有一些有效的建议吗?
此外,如果可以通过字符字符串为新列指定名称(在这种情况下为new_var
),那对我来说就太好了,这样我就可以创建另一个嵌套在另外两个循环中的for循环来创建新变量。
希望我没有在解释我的问题时太过纠结。
提前感谢。