提取正确的数据?

时间:2016-04-15 13:44:36

标签: r matrix

我有data.frame = x,其中包含从一个人提取的数据和标签,这些数据可以提取为x$datax$labels

数据存储为matrix,其中每行是观察,每列是从该观察中提取的特征。

标签是描述该观察类别的列表,

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

第一行中的观察是否位于“banana”类中,因此也提取了特征。

我正在尝试提取仅包含label =“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

这里提取矩阵会很好。

2 个答案:

答案 0 :(得分:2)

Try this

data[label == "banana",]

答案 1 :(得分:0)

嗯..这比我想象的要容易......

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