如何修复:在 R 中找不到函数“%>%”
在本文中,我们将看到如何修复,在 R 编程语言中找不到函数“%>%”。引入管道运算符%>% 是为了减少时间并提高代码的可读性和可维护性。未加载或安装 R 包时可能会发生此错误。
方法一:使用 magrittr 包
产生错误
在 R 中重现错误消息“找不到函数“%>%”。例如,这里我们使用“%>%”运算符来获取 sqrt 的总和。
R
1:8 %>% sum %>% sqrt
R
library("magrittr")
1:8 %>% sum %>% sqrt
R
# create data frame
df <- data.frame(Sub = c('Math', 'Math', 'Phy',
'Phy', 'Phy', 'Che', 'Che'),
Marks = c(8, 2, 4, 9, 9, 7, 1),
Add_on = c(3, 1, 9, 4, 7, 8, 2))
# Specify data frame
df %>%
# Specify group indicator
group_by(Sub) %>%
# Specify column
summarise_at(vars(Marks),
list(name = sum))
R
# create data frame
df <- data.frame(Sub = c('Math', 'Math', 'Phy',
'Phy', 'Phy', 'Che', 'Che'),
Marks = c(8, 2, 4, 9, 9, 7, 1),
Add_on = c(3, 1, 9, 4, 7, 8, 2))
library(dplyr)
df %>%
group_by(Sub) %>%
summarise_at(vars(Marks),
list(name = sum))
输出:
Error in 1:8 %>% sum %>% sqrt: could not find function "%>%"
Traceback:
怎么修
它只能使用相关包修复(magrittr)
R
library("magrittr")
1:8 %>% sum %>% sqrt
输出:
6
方法二:使用 dplyr 包
产生错误
要在 R 中重现错误消息“找不到函数“%>%””。例如,这里我们使用“%>%”运算符来 group_by()函数,然后是 summarise()函数和适当的操作去表演。
R
# create data frame
df <- data.frame(Sub = c('Math', 'Math', 'Phy',
'Phy', 'Phy', 'Che', 'Che'),
Marks = c(8, 2, 4, 9, 9, 7, 1),
Add_on = c(3, 1, 9, 4, 7, 8, 2))
# Specify data frame
df %>%
# Specify group indicator
group_by(Sub) %>%
# Specify column
summarise_at(vars(Marks),
list(name = sum))
输出:
Error in df %>% group_by(Sub) %>% summarise_at(vars(Marks), list(name = sum)): could not find function “%>%”
怎么修
它只能使用相关包修复(dplyr)
R
# create data frame
df <- data.frame(Sub = c('Math', 'Math', 'Phy',
'Phy', 'Phy', 'Che', 'Che'),
Marks = c(8, 2, 4, 9, 9, 7, 1),
Add_on = c(3, 1, 9, 4, 7, 8, 2))
library(dplyr)
df %>%
group_by(Sub) %>%
summarise_at(vars(Marks),
list(name = sum))
输出:
Sub name
Che 8
Math 10
Phy 22