如何从向量中获取值并将其指定为新数据帧的名称

时间:2018-02-21 21:33:56

标签: r

IN R 我有一个NAME矢量:

[1] "ALKR50SV" "AMKR71SV" "AOKR71SV" "AZKR52SV" "BFKR70SV" "BJKR61SV" "BUKR6HSV" 
    "CDKR61SV" "CFKR31SV"

我想将它们用作每个新数据框的名称

与ALKR50SV的数据帧类似,ALKR50SV的数据帧......

for loop like:

NAME[i] <- data1

会导致问题。

我该怎么办?谢谢。

2 个答案:

答案 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");

使用listlapply元素进行操作,例如

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

但正如其他人所评论的那样,最好将数据帧放入命名列表中。