2014-02-27 42 views
1

我的數據有問題。我想將我的數據保存在一個文件中。有我加載到R.將所有數據保存在一起 - 一個主文件

> list_of_data 
[1] "Weight.csv" "Lenght.csv" "Age.csv" "Place of Birth.csv"   
[5] "Sex.csv" "Driver License.csv" "Nationality.csv" 

在每個文件的我對病人的單一信息數的CSV文件:

Weight.csv:

Name Weight   
Mark  76 
Criss  82 
Kate  61 
Robb  80 
Denis  72 

Age.csv :

Name  Age   
Mark  19 
Criss  17 
Kate  24 
Robb  33 
Denis  23 

我想將所有的信息移動到一個單一的矩陣。所以,我創建了一個新的矩陣:

data_mat <- matrix(0, nrow = 5,ncol = 7) 
colnames(data_mat) <- c("Name", "Weight", "Lenght", "Age", "Place of Birth", "Sex", "Driver License", "Nationality") 
rownames(data_mat) <- c("Mark", "Criss", "Kate", "Robb", "Denis") 

我不知道如何讓R能夠找到其他的CSV文件病人的信息,並把它們放在一起在我的新矩陣。有任何想法嗎 ?

+1

你看過'merge'嗎? –

+2

你可能會看看[** here **](http://stackoverflow.com/questions/19961256/how-to-merge-data-frames-which-are-elements-in-a-list/19961375# 19961375)。 – Henrik

+0

你不能'data.frame(Weight.csv $ Name,Weight.csv $ Weight,Age.csv $ Age)'? – sthotakura

回答

1

您將要將所有個人csv合併在一起。

dat.all<-merge(csv1,csv2,by="name") 
dat.all<-merge(dat.all,csv3,by="name") 
... 

只是做這在所有的CSV文件,然後你就會知道你在找什麼

1

您還可以使用cbind在所有文件,刪除所有,但第一的name列。

Weight <- data.frame(Name = c("Mark", "Criss", "Kate"), Weight = c(76, 82, 61)) 
Age <- data.frame(Name = c("Mark", "Criss", "Kate"), Age = c(19, 17, 24)) 

cbind(Weight, Age = Age[, "Age"]) 
## Name Weight Age 
## 1 Mark  76 19 
## 2 Criss  82 17 
## 3 Kate  61 24 
+0

@Thomas,我們應該總是評論結果嗎?我不知道。 –

+0

不一定。我通常在代碼中單獨排版較大的結果,但如果它只是像這裏那樣的幾行,只需將結果放入註釋中很容易,它可以模仿控制檯輸出。 – Thomas

相關問題