R dplyr rowwise mean 或 min 等方法?

标签 r row dplyr

如何使用 dplyr 获得 data.frame 上每行的最小值(或平均值)?
我的意思是相同的结果

apply(mydataframe, 1, mean) 
apply(mydataframe, 1, min)

我试过了
mydataframe %>% rowwise() %>% mean

或者
mydataframe %>% rowwise() %>% summarise(mean)

或其他组合,但我总是出错,我不知道正确的方法。

我知道我也可以使用 rowMeans,但没有简单的“rowMin”等价物。
还有一个 matrixStats 包,但大多数函数不接受 data.frames,只接受矩阵。

如果我想计算 min rowwise 我可以使用
do.call(pmin, mydataframe)
有没有像这样简单的 rowwise mean ?
do.call(mean, mydataframe) 

不起作用,我想我需要一个 pmean 函数或更复杂的东西。

谢谢

为了比较结果,我们都可以在同一个例子上工作:
set.seed(124)
df <- data.frame(A=rnorm(10), B=rnorm(10), C=rnorm(10))

最佳答案

我想这就是你想要完成的:

df <- data.frame(A=rnorm(10), B=rnorm(10), C=rnorm(10))

library(dplyr)
df %>% rowwise() %>% mutate(Min = min(A, B, C), Mean = mean(c(A, B, C)))

#             A          B           C        Min        Mean
# 1   1.3720142  0.2156418  0.61260582  0.2156418  0.73342060
# 2  -1.4265665 -0.2090585 -0.05978302 -1.4265665 -0.56513600
# 3   0.6801410  1.5695065 -2.70446924 -2.7044692 -0.15160724
# 4   0.0335067  0.8367425 -0.83621791 -0.8362179  0.01134377
# 5  -0.2068252 -0.2305140  0.23764322 -0.2305140 -0.06656532
# 6  -0.3571095 -0.8776854 -0.80199141 -0.8776854 -0.67892877
# 7   1.0667424 -0.6376245 -0.41189564 -0.6376245  0.00574078
# 8  -1.0003376 -1.5985281  0.90406055 -1.5985281 -0.56493504
# 9  -0.8218494  1.1100531 -1.12477401 -1.1247740 -0.27885677
# 10  0.7868666  0.6099156 -0.58994138 -0.5899414  0.26894694

关于R dplyr rowwise mean 或 min 等方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598935/

相关文章:

r - 使用 R 包 : readxl and writing to a csv 按列合并多个 .xlsx 文件时出现标题前有垃圾文本的问题

android - 行内元素的重力(Jetpack Compose)

java - 以编程方式在 JTable 中选择一行

r - 如何使用 summarise_each 计算加权平均值?

r - ggplot2:形状、颜色和线型合二为一

r - Slurm 作业内存不足 [RAM?] 但未达到内存限制

R 仅从字符串中提取 3 位数字

html - 如何用内容填充整个 Bootstrap 行

R - 使用方法错误 ("groups") : no applicable method for 'groups' applied to an object of class "character"

r - 计算行意味着无需提供列名称并根据每列总和有选择地删除列