R语言如何修复:could not find function “%>%”
在这篇文章中,我们将看到如何在R编程语言中修复找不到函数”%>%”。引入管道操作符%>%是为了减少时间,提高代码的可读性和可维护性。这个错误可能发生在没有加载或安装R包的时候。
方法1:使用magrittr包
产生错误
重现R语言中 “could not find function”%>%”的错误信息。在这个例子中,我们使用”%>%”运算符来获得sqrt的和。
1:8 %>% sum %>% sqrt
输出
Error in 1:8 %>% sum %>% sqrt: could not find function "%>%"
Traceback:
如何修复
只能使用相关软件包(magrittr)进行修复。
library("magrittr")
1:8 %>% sum %>% sqrt
输出
6
方法2:使用dplyr包
产生错误
重现R语言中 “找不到函数”%>%”的错误信息。在这个例子中,我们使用”%>%”操作符,将group_by()函数和summaryise()函数放在一起,并执行适当的操作。
# 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)来解决这个问题。
# 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