【发布时间】:2016-04-02 05:29:19
【问题描述】:
假设我有一个简单的数据框
test_df <- data.frame(c(0,0,1,0,0,1,1,1,1,1),c(1,0,0,0,0,0,0,0,0,0))
我想获取每行的最大值(0 或 1)。 在我的示例中,第一个向量为 1(6 次出现),第二个向量为 0(9 次出现)。
我开始:
> sapply(test_df,table)
c.0..0..1..0..0..1..1..1..1..1. c.1..0..0..0..0..0..0..0..0..0.
0 4 9
1 6 1
到目前为止看起来还不错。那么
> sapply((sapply(test_df,table)),max)
[1] 4 6 9 1
我迷路了,我是不是失去了关联? 1 -> 6 , 0 -> 9 我想要的是返回一个带有“赢家”的向量:1,0,...
1 for the first vector (6 occurrences)
0 for the second vector (9 occurrences)
...
【问题讨论】:
-
当您创建一个没有任何列名的
data.frame时,您将获得c.0..0..1..0..0..1..1..1..1..1作为列名。请检查您创建的“test_df”的输出。