R:在for循环中为数据帧使用指定的名称

时间:2018-05-01 11:29:33

标签: r for-loop dynamic nested

我正在研究R中的以下for循环:

for(i in dim(Test)[1]) { 
                 nam <- paste(Test[i,1])
                 assign(nam, as.data.frame(matrix(nrow=1,ncol=8)))
                        for (i in 1:dim(nam)[2]){
                         nam[,i]=round(data[,1]*M[1,i]+data[,2]*M[2,i]+data[,3]*M[3,i]+
                         data[,4]*M[4,i]+data[,5]*M[5,i]+data[,6]*M[6,i]+data[,7]*M[7,i]+
                         data[,8]*M[8,i])}}

但是,我收到以下错误消息:

Error in 1:dim(nam)[2] : argument of length 0

如何重写dim(nam)[2]以便它使用我分配给数据框的名称?

为了完整性,这里是我正在使用的数据框:

rand.sum <- function(n){
x <- sort(runif(n-1))
c(x,1) - c(0,x)
 }

M <- t(replicate(8,rand.sum(8)))

test <- as.data.frame(t(replicate(1, rand.sum(10))))

ID <- c("ID")

data <- cbind(ID,test)

0 个答案:

没有答案