2013-06-20 37 views
0

我想從通過csv.read()讀取的名稱列表中設置矩陣的行名稱。它只是將行名稱設置爲「1」。設置矩陣的dimname

labels<-read.csv('labels.csv',header = F,sep=';',comment.char='',as.is=F) 
labels 
     V1  V2  V3  V4  V5  V6  V7  V8  V9  V10 V11 V12 
1 ball11 ball9 ball12 ball2 ball6 ball7 ball1 ball3 ball10 ball18 ball29 ball4 
row.names(M)<-labels 

其中M是12×12的雙重矩陣。

這是我得到

> row.names(M) 
[1] "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" 

任何幫助表示讚賞,感謝。

回答

1

您可能遇到問題,因爲您讀取的數據爲factor s。先將它們轉換爲字符。

既然你只處理一條線,你可以嘗試:

row.names(M) <- sapply(labels, as.character) 
+0

嗯,起初我以爲問題是,名字是在'list' ...但工程。你會認爲'as.is'會阻止因素轉換。 –

+0

@MatthewPlourde:不是'as.is = FALSE'時...... –

+0

哎呀,我誤讀了。我發誓,那是一分鐘前的'T';)。另一個說明「TRUE」和「FALSE」的原因...... –