如何根据r中的特定值选择所有列的特定行?

如何根据r中的特定值选择所有列的特定行?,r,R,我想选择仅包含“3个值”的enitre行。我使用了一个x可能有一个更优雅的方法,但这会起作用: C1 C2 C3 C4 2 3 4 5 3 3 3 3 4 5 6 6 4 4 6 3 3 3 3 3 34 4 4 45 3 3 3 3 也许有一种更优雅的方式,但这会起作用: C1 C2 C3 C4 2 3 4 5 3 3 3 3 4 5 6 6 4 4 6 3 3 3 3 3 34 4 4

我想选择仅包含“3个值”的enitre行。我使用了一个x可能有一个更优雅的方法,但这会起作用:

C1 C2 C3 C4
 2  3  4  5
 3  3  3  3 
 4  5  6  6
 4  4 6   3
 3  3  3  3
34 4   4 45  
3   3  3  3

也许有一种更优雅的方式,但这会起作用:

C1 C2 C3 C4
 2  3  4  5
 3  3  3  3 
 4  5  6  6
 4  4 6   3
 3  3  3  3
34 4   4 45  
3   3  3  3

这是一种快速的单行生锈方法,但适用于多行,可以调整为在函数中包含一个参数(或多个参数)。 下面是一个例子:

dataset = matrix(1:16, ncol = 4)
dataset[2,] = rep(3, 4)
dataset[apply(dataset, 1, function(row) all(row == 3)),]

有一些问题,例如,这样做会丢失行索引。我希望这就是您想要的。

这是一种快速的单行生锈方法,但适用于多行,可以调整为在函数中包含一个参数(或多个参数)。 下面是一个例子:

dataset = matrix(1:16, ncol = 4)
dataset[2,] = rep(3, 4)
dataset[apply(dataset, 1, function(row) all(row == 3)),]

有一些问题,例如,这样做会丢失行索引。我希望这就是您所寻找的。

假设您的数据帧名为
dataset
,请尝试
dataset[2,]
。这里有一个方便的教程:似乎您可能需要
dataset[rowSums(dataset==3)==ncol(dataset),]
或者
合并(list(C1=3,C2=3,C3=3,C4=3),dat)
如果您要搜索特定的组合?
A[unique(A==3,arr.ind=T)[,1]),]
如果A是您的矩阵,可能吗?假设您的数据框名为
dataset
,请尝试
dataset[2,]
。这里有一个方便的教程:您可能需要
dataset[rowSums(dataset==3)==ncol(dataset),]
或可能
合并(列表(C1=3,C2=3,C3=3,C4=3),dat)
如果您要搜索特定的组合?
A[唯一(其中(A==3,arr.ind=T)[,1]),]
如果A是您的矩阵,可能?编辑以反映更新的问题编辑以反映更新的问题