2017-03-03 69 views
0

這段代碼正常工作:「dimnames錯誤」取決於colnames填充順序

MATRIX_RESULT_CSV <- matrix(NA,nrow=1,ncol=5) 
colnames(MATRIX_RESULT_CSV)[3:5] <- c("3", "4", "5") 
colnames(MATRIX_RESULT_CSV)[1:2] <- c("1", "2") 

然而,當弗斯特列填充第一它產生一個「dimname錯誤」:

MATRIX_RESULT_CSV <- matrix(NA,nrow=1,ncol=5) 
colnames(MATRIX_RESULT_CSV)[1:2] <- c("1", "2") 
colnames(MATRIX_RESULT_CSV)[3:5] <- c("3", "4", "5") 

Error in `colnames<-`(`*tmp*`, value = c("1", "2")) : 
    length of 'dimnames' [2] not equal to array extent 

我我正在看下面的原因。

回答

-1

不知道的根本原因,但interstingly這個工程:

MATRIX_RESULT_CSV <- matrix(NA,nrow=1,ncol=5) 
colnames(MATRIX_RESULT_CSV) = rep(NA, ncol(MATRIX_RESULT_CSV)) 
colnames(MATRIX_RESULT_CSV)[1:2] = c("1","2")