当R使用它来命名for循环中的列和列表时,R如何报告实际名称i
。
例如,使用以下数据:
z <- data.frame(x= c(1,2,3,4,5), y = c("a", "b", "v", "d", "e"))
当我在创建列时从循环中引用i
时,它将其命名为i
列名称。
a_final <- NULL
for(i in z$x){
print(data.frame(i = z$y))
}
相反,我希望按循环中每个i
的值来命名列。
我希望结果看起来像这样:
1 2 3 4 5 6
a a a a a a
b b b b b b
c c c c c c
d d d d d d
e e e e e e
您可以使用与nrow(z)
相同的z$y
和维度的数据创建一个矩阵,并将其转换为数据帧。
as.data.frame(matrix(z$y, ncol = nrow(z), nrow = nrow(z)))
# V1 V2 V3 V4 V5
#1 a a a a a
#2 b b b b b
#3 c c c c c
#4 d d d d d
#5 e e e e e
我们也可以使用replicate
as.data.frame(replicate(nrow(z), z$y))