在r我有名称的向量:
[1] "ALKR50SV" "AMKR71SV" "AOKR71SV" "AZKR52SV" "BFKR70SV" "BJKR61SV" "BUKR6HSV"
"CDKR61SV" "CFKR31SV"
我想将它们用作每个新数据框的名称
喜欢ALKR50SV的数据框架,Alkr50SV的数据框
对于循环,例如:
NAME[i] <- data1
会引起问题。
我该怎么办?谢谢。
正如@Joran和@neilfws所说,最好与data.frame
s的list
一起工作。例如,考虑以下三个data.frame
S
lst <- lapply(1:3, function(x) as.data.frame(matrix(sample(20), ncol = 4)));
您可以命名list
Elements
names(lst) <- c("ALKR50SV", "AMKR71SV", "AOKR71SV");
使用lapply
在list
元素上操作,例如
lapply(lst, dim);
#$ALKR50SV
#[1] 5 4
#
#$AMKR71SV
#[1] 5 4
#
#$AOKR71SV
#[1] 5 4
您可以使用assign
:
numbers <- c('one', 'two', 'three')
for (i in 1:3) {
assign(nms[i], i)
}
one # 1
two # 2
three # 3
但是,正如其他人所评论的那样,很可能最好将您的数据范围放入命名列表中。