用for循环填充数据帧或矩阵

时间:2014-09-26 10:20:17

标签: r for-loop matrix dataframe

是否有一种快速方法可以从左到右依次为dfn1以及最后n2填充此矩阵n3

df=matrix(, nrow = 3, ncol =3)
rownames(df)<- c("1","2","3")
colnames(df)<- c("A", "B", "C")
n1= seq(1:3)
n2= seq(6:8)
n3= seq(10:12)

1 个答案:

答案 0 :(得分:1)

如果你有很多列cbind,那么一种方法是:

df[] <- do.call(cbind,mget(ls(pattern="n\\d+"))) #here I am assuming that all the objects created follow the pattern `n1`, `n2`, `n3` etc.

df
#  A B  C
#1 1 6 10
#2 2 7 11
#3 3 8 12

如果您填写data.frame,例如df1

 df1[] <- mget(ls(pattern="n\\d+"))
 df1
 #  A B  C
 #1 1 6 10
 #2 2 7 11
 #3 3 8 12

数据

 df <- matrix(, nrow = 3, ncol =3)
 rownames(df)<- c("1","2","3")
 colnames(df)<- c("A", "B", "C")

 df1 <- as.data.frame(df)
 n1 <- 1:3
 n2 <- 6:8
 n3 <- 10:12