2016-04-15 53 views
0

我有一個data.frame = x,它包含從一個人提取的數據和標籤,這些可以提取爲x$datax$labels提取正確的數據?

數據存儲爲matrix,其中每行是觀察值,每列是從該觀測值中提取的特徵。

的標籤是描述類的是觀察的名單,

所以,如果Label[1] = "banana"

將在第一行中的觀察居住類「香蕉」之內,因此也提取的特徵。

我在那一刻在想只提取包含標籤=「香蕉」數據矩陣..

x$data[x$labels=="banana"] 

問題是,雖然,我很想念矩陣結構,我有數據。

是否有可能在矩陣結構中提取它?

簡單的例子:

data = matrix(data = c(rbind(sample(1:10, 5)),rbind(sample(1:10, 5)),rbind(sample(1:10, 5)),rbind(sample(1:10, 5)),rbind(sample(1:10, 5))), ncol = 5, nrow = 5) 

data 

>   [,1] [,2] [,3] [,4] [,5] 
[1,] 8 5 10 4 4 
[2,] 5 10 3 9 3 
[3,] 7 1 9 8 8 
[4,] 6 2 8 6 9 
[5,] 10 4 2 1 5 


label = matrix(data = c(rbind("banana","banana","juice", "poop", "air")) ,nrow = 5) 
>   [,1]  
[1,] "banana" 
[2,] "banana" 
[3,] "juice" 
[4,] "poop" 
[5,] "air" 

data[label == "banana"] 

>[1] 8 5 5 10 10 3 4 9 4 3 

這將是很好的提取物作爲基體。

+0

能否請您分享一個例子的數據集,說明你的問題和預期產出? – mtoto

+0

我想你正在尋找'data.frame(x $ data [x $ labels ==「banana」])' – Sangram

+0

數據必須作爲矩陣提取。 – Lamda

回答

0

嗯..這是比我想象的更容易...

matrix(x$data[x$labels=="banana"],ncol = ncol(x$data) 
+0

不妨接受你自己的回答:) – mtoto

2

試試這個

data[label == "banana",]