【发布时间】:2019-01-21 09:44:03
【问题描述】:
我需要知道行的哪些元素对于 data.frame 中的每一列是唯一的,然后在输出中打印行名。
我的数据示例:
id A B C
s1 1 2 1
s2 1 0 0
s3 0 12 3
s4 0 1 0
s5 0 1 0
我想要这样的东西:
$A s2
$B s4,s5
$C NA
这意味着:
A 只有一个唯一元素 - s2
B 有两个独特的元素 - s4 和 s5
而C没有任何独特的元素,所以它被NA填充
我试过了
apply(data, 2, function(x) unique(x))
但这不是我需要的..
非常感谢您的建议!
【问题讨论】:
-
@RonakShah 是的,我的错,应该有 S2,正如你所说,你是对的。
-
逻辑对我来说似乎很清楚。如果 A 列是
s2行中唯一具有正值的列,则为该列返回s2。您可以看到C列没有正值,而其他列没有正值。 -
@snoram 是的,完全正确。
-
所以在 n 次 p 数据帧 x 中,您定义的值 x[i, j] (i = 1, ..., n 和 j = 1, ... , p)要在第 j 列中“唯一”是:所有值 x[i, -j] 都等于 0,对吗?