Я работаю над следующим циклом for в R:
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)