合并两列矩阵,只保留最高值
Merge two columns of matrix, keeping only highest values
有没有一种合并数据框的两列的简单方法,只保留每行的最高总值?示例:
test <- as.data.frame(matrix(rexp(12, rate=.1), ncol=2))
test
V1 V2
1 9.945558 5.578294
2 5.141743 5.946177
3 20.078324 9.773958
4 4.222424 2.098666
5 21.787726 3.094479
6 32.177890 11.059363
期望的结果:
[1] 9.945558 5.946177 20.078324 4.222424 21.787726 32.177890
您可以使用pmax
执行此操作:
test <- as.data.frame(matrix(rexp(12, rate=.1), ncol=2))
test
V1 V2
1 2.9683040 9.8769267
2 11.5428303 2.4024274
3 0.6843035 10.5813406
4 2.5058739 5.2442930
5 7.4704735 0.2269433
6 15.7055989 12.3503810
pmax(test$V1, test$V2)
[1] 9.876927 11.542830 10.581341 5.244293 7.470473 15.705599
apply(test, 1, max)
会完成任务的!
有没有一种合并数据框的两列的简单方法,只保留每行的最高总值?示例:
test <- as.data.frame(matrix(rexp(12, rate=.1), ncol=2))
test
V1 V2
1 9.945558 5.578294
2 5.141743 5.946177
3 20.078324 9.773958
4 4.222424 2.098666
5 21.787726 3.094479
6 32.177890 11.059363
期望的结果:
[1] 9.945558 5.946177 20.078324 4.222424 21.787726 32.177890
您可以使用pmax
执行此操作:
test <- as.data.frame(matrix(rexp(12, rate=.1), ncol=2))
test
V1 V2
1 2.9683040 9.8769267
2 11.5428303 2.4024274
3 0.6843035 10.5813406
4 2.5058739 5.2442930
5 7.4704735 0.2269433
6 15.7055989 12.3503810
pmax(test$V1, test$V2)
[1] 9.876927 11.542830 10.581341 5.244293 7.470473 15.705599
apply(test, 1, max)
会完成任务的!