首页 > 解决方案 > R中每一行的中位数,数百列

问题描述

这个问题与这个问题非常相似: 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 列?

标签: rdplyr

解决方案


这是一个使用数字数据集和 tidy verse 的示例

使用 dplyr、purrr 的库

library(tidyverse)


diabetes<-read.csv(url('https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv'))


diabetes$row_median = t(map(data.frame(t(diabetes)),median) %>% bind_cols())

推荐阅读