【发布时间】:2020-08-31 15:32:57
【问题描述】:
这个问题和这个问题很相似:Min and Median of Multiple Columns of a DF by Row in R 而且我知道有人以各种方式提出过问题,但我觉得他们没有充分解决我的问题。
我有一个包含 260 列的数据框。我想获得每一行的中位数,最好使用 dplyr 作为我喜欢的。上述链接问题的答案几乎是完美的,例如:
df %>%
rowwise() %>%
mutate(median = median(c(V1, V2, V3)))
完全按照我的要求工作并完成,但很像这个问题:Sum across multiple columns with dplyr
我宁愿不写出 260ish 列的名称。有没有办法接受上述命令并对其进行修改,使其输入所有 260 列?
【问题讨论】:
-
查看
c_across,例如mutate(median = median(c_across()) -
一旦我意识到我的列都是字符类,就完美地工作了。这很奇怪,因为如果我只是在修复它之前在两个单独的列上使用中位数,它就可以正常工作。那好吧。谢谢!
-
如果您的所有数据都是数字,为什么不能按照参考链接中的建议使用
apply?即medians <- apply(df, 1, median)