【问题标题】:error in could not find function in r with pipeline错误在管道中找不到 r 中的函数
【发布时间】:2020-12-07 09:58:21
【问题描述】:

我只是从 r 开始,所以这很可能是一个非常简单的问题,但是...... 我尝试将“a”中的名称更改为更详细,但这没有区别 如果我尝试将其分配给变量 (例如baseline <- a %>% filter(Period == "Baseline") %>% group_by(File)%>%

它只是告诉我:

“%>% 过滤器中的错误(Period == "Baseline")%>% group_by(File) %>% : 找不到函数“%>%

如果能提供任何帮助,我将不胜感激。

它一直告诉我“a(.) 中的错误:找不到函数“a” 并且即使之前定义过 Baseline_MAP 也无法找到它。 在 mutate(Delta_MAP = Group_MAP - Baseline_MAP,

a <- read_csv("file.csv")
summary(a)

a %>%
  filter(Period == "Baseline") %>%
  group_by(File)%>%
  summarise(Baseline_MAP = mean(MAP_Mean, na.rm=T), 
            Baseline_SBP = mean(SBP_Mean, na.rm=T),
            Baseline_LaserMc1 = mean(Laser1_Magic, na.rm=T),
            Baseline_Laser1 = mean(Laser1_Mean, na.rm=T))%>%
  
a%>%
  filter(Period != "Baseline") %>%
  group_by(File)%>%
  summarise(Group_MAP = mean(MAP_Mean, na.rm=T),
            Group_SBP = mean(SBP_Mean, na.rm=T),
            Group_Laser_1Magic = mean(Laser1_Magic, na.rm=T),
            Group_Laser_1 = mean(Laser1_Mean, na.rm=T))
a%>% 
  mutate(Delta_MAP = Group_MAP - Baseline_MAP,
         Delta_MAP_Log = log(Group_MAP)-log(Baseline_MAP),
         Delta_SBP = Group_SBP - Baseline_SBP,
         Delta_SBP_Log = log(Group_SBP)-log(Baseline_SBP),
         Delta_Laser1_Magic = Group_Laser_1Magic - Baseline_LaserMc1,
         Delta_Laser1_Log = log(Group_Laser_1Magic)-log(Baseline_LaserMc1))

【问题讨论】:

  • 嗨,欢迎来到 SO!最好在您的问题帖子中包含一些示例数据,以便其他人可以使用您的数据。

标签: r dplyr


【解决方案1】:

%&gt;% 来自包“dplyr”。所以一定要加载它,即library(dplyr)

接下来,%&gt;%将结果分配给变量。即

a %>% 变异(foo=bar(x))

不会改变a。它只会在控制台上显示结果(如果您正在运行脚本或从函数调用它,则不会显示结果)。

您可能会将管道运算符与 %&lt;&gt;%(在包 magrittr 中找到)混淆,后者使用左侧变量作为管道的输入,并用修改后的结果覆盖变量。

最后,当你写的时候

如果我尝试将其分配给变量(例如baseline &lt;- a %&gt;% filter(Period == "Baseline") %&gt;% group_by(File)%&gt;%

您将管道中的结果分配给变量baseline——但这不会修改数据框中的变量名(即列名)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    相关资源
    最近更新 更多