2012-09-13 42 views
1

我有一個問題阻礙了我的分析。出於某種奇怪的原因,每當我導入一個表格(csv,text等)時,我都從不會得到行號出現在括號中。取而代之的是:R沒有在括號中列出行號

>ID Year 
[1,] 1 1944 
[2,] 1 1945 
[3,] 1 1946 

我得到這個:

ID年
1 1 1944年
2 1 1945年
3 1 1946年

的問題是是R兩端使用第一列(1,2,3)作爲ID並且破壞分析。 有什麼建議嗎?

謝謝!

+2

你是如何導入表?你使用什麼功能?您嘗試導入的數據格式是什麼。 –

回答

3

您的「用括號中的行號打印的對象」可能是matrix,從csv讀取時您會得到data.frame

如果您在data.frame上撥打as.matrix(),您將通過閱讀csv獲得所需的結果。

例如:

一個matrix對象是這樣的:

m1 <- matrix(c(1,1,1,1944,1945,1946),nrow=3,ncol=2) 
colnames(m1) <- c('ID','Year') 

m1 

產量:

> m1 
    ID Year 
[1,] 1 1944 
[2,] 1 1945 
[3,] 1 1946 

在閱讀從CSV相同的數據:

m2 <- read.csv(text="ID,Year 
1,1944 
1,1945 
1,1946") 

m2 

你:

> m2 
    ID Year 
1 1 1944 
2 1 1945 
3 1 1946 

轉換m2到一個矩陣:

m3 <- as.matrix(m2) 
m3 

你得到這樣的:

> m3 
    ID Year 
[1,] 1 1944 
[2,] 1 1945 
[3,] 1 1946 
+0

嗨digEmAll,這非常好,非常感謝。我意識到我使用的包需要矩陣而不是數據框,這就是爲什麼我需要按照您的方式轉換它們。非常感謝你。 –