gpt4 book ai didi

r - 如何使用管道?

转载 作者:行者123 更新时间:2023-12-02 18:05:11 25 4
gpt4 key购买 nike

我正在尝试使用管道,但我认为我的语法有问题。当我写下:

mean(b_2021_01$Day.of.week, na.rm=TRUE)

一切都很好,但是当我写的时候......

b_2021_01 %>% mean(Day.of.week, na.rm=T)

出现错误消息“警告消息:在mean.default(., Day.of.week, na.rm = T) 中:参数不是数字或逻辑:返回 NA"

“Day.of.week”变量是一个 int,我不明白为什么它说我的参数不是数字。

最佳答案

使用pull提取列,然后使用mean

library(magrittr)
b_2021_01 %>%
pull(Day.of.week) %>%
mean(na.rm = TRUE)

或用 {} 包裹

b_2021_01 %>% 
{mean(.$Day.of.week, na.rm=TRUE)}

或者使用说明运算符 (%$%)

b_2021_01 %$%
mean(Day.of.week, na.rm = TRUE)

-测试

> mtcars %$%
mean(mpg, na.rm = TRUE)
[1] 20.09062

错误的原因是第一个参数x应该是一个向量,但是在%>%的右轴上,它被当作整个data.frame作为输入

> mtcars %>% mean(.$mpg, na.rm = TRUE)
[1] NA
Warning message:
In mean.default(., .$mpg, na.rm = TRUE) :
argument is not numeric or logical: returning NA

> mean(mtcars, mtcars$mpg )
[1] NA
Warning message:
In mean.default(mtcars, mtcars$mpg) :
argument is not numeric or logical: returning NA

关于r - 如何使用管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73429974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com