如何根据r中的特定值选择所有列的特定行?
我想选择仅包含“3个值”的enitre行。我使用了一个x可能有一个更优雅的方法,但这会起作用:如何根据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
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是您的矩阵,可能?编辑以反映更新的问题编辑以反映更新的问题