我正在研究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)