IN R 我有一个NAME矢量:
[1] "ALKR50SV" "AMKR71SV" "AOKR71SV" "AZKR52SV" "BFKR70SV" "BJKR61SV" "BUKR6HSV"
"CDKR61SV" "CFKR31SV"
我想将它们用作每个新数据框的名称
与ALKR50SV的数据帧类似,ALKR50SV的数据帧......
for loop like:
NAME[i] <- data1
会导致问题。
我该怎么办?谢谢。
答案 0 :(得分:0)
正如@joran和@neilfws所说,最好使用list
data.frame
。
例如,请考虑以下三个data.frame
s
lst <- lapply(1:3, function(x) as.data.frame(matrix(sample(20), ncol = 4)));
您可以命名list
个元素
names(lst) <- c("ALKR50SV", "AMKR71SV", "AOKR71SV");
使用list
对lapply
元素进行操作,例如
lapply(lst, dim);
#$ALKR50SV
#[1] 5 4
#
#$AMKR71SV
#[1] 5 4
#
#$AOKR71SV
#[1] 5 4
答案 1 :(得分:-1)
您可以使用assign
:
numbers <- c('one', 'two', 'three')
for (i in 1:3) {
assign(nms[i], i)
}
one # 1
two # 2
three # 3
但正如其他人所评论的那样,最好将数据帧放入命名列表中。