如何以管道运算符格式编写此 R 表达式?
How can I write this R expression in the pipe operator format?
我正在尝试将此表达式重写为 magrittr 的管道运算符:
print(mean(pull(df, height), na.rm=TRUE))
我的数据集 returns 175.4。
我知道我必须从数据框开始并将其写为 >df%>% 但我对如何将它的内翻外写感到困惑。例如,na.rm=TRUE 应该放在 mean()、pull() 还是 print() 中?
更新:我实际上是通过反复试验弄明白的...
>df%>%
+pull(height)%>%
+mean(na.rm=TRUE)
+print()
returns 175.4
最好制作一个可重现的示例,使用如下虚拟数据:
height <- seq(1:30)
weight <- seq(1:30)
df <- data.frame(height, weight)
这些管道运算符与大多数 tidyverse(不仅仅是 magrittr)一起工作。你要做的实际上是从 dplyr 出来的。 na.rm=T 是许多汇总变量(如均值、sd)以及用于收集特定数据点(如最小值、最大值等)的某些函数所必需的。这些函数不能很好地处理 NA 值。
df %>% pull(height) %>% mean(na.rm=T) %>% print()
除非您的数据是嵌套的,否则您甚至可能不需要使用 pull
df %>% summarise(mean = mean(height,na.rm=T))
此外,使用 summarize 可以将它们通过管道传输到另一个数据帧中,而不仅仅是打印,并在需要时从数据帧中调用它们。
df %>% summarise(meanHt = mean(height,na.rm=T), sdHt = sd(height,na.rm=T)) -> summary
summary[1]
summary[2]
我正在尝试将此表达式重写为 magrittr 的管道运算符:
print(mean(pull(df, height), na.rm=TRUE))
我的数据集 returns 175.4。
我知道我必须从数据框开始并将其写为 >df%>% 但我对如何将它的内翻外写感到困惑。例如,na.rm=TRUE 应该放在 mean()、pull() 还是 print() 中?
更新:我实际上是通过反复试验弄明白的...
>df%>%
+pull(height)%>%
+mean(na.rm=TRUE)
+print()
returns 175.4
最好制作一个可重现的示例,使用如下虚拟数据:
height <- seq(1:30)
weight <- seq(1:30)
df <- data.frame(height, weight)
这些管道运算符与大多数 tidyverse(不仅仅是 magrittr)一起工作。你要做的实际上是从 dplyr 出来的。 na.rm=T 是许多汇总变量(如均值、sd)以及用于收集特定数据点(如最小值、最大值等)的某些函数所必需的。这些函数不能很好地处理 NA 值。
df %>% pull(height) %>% mean(na.rm=T) %>% print()
除非您的数据是嵌套的,否则您甚至可能不需要使用 pull
df %>% summarise(mean = mean(height,na.rm=T))
此外,使用 summarize 可以将它们通过管道传输到另一个数据帧中,而不仅仅是打印,并在需要时从数据帧中调用它们。
df %>% summarise(meanHt = mean(height,na.rm=T), sdHt = sd(height,na.rm=T)) -> summary
summary[1]
summary[2]