热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

加载了dplyr的函数找不到“%<>%”

如何解决《加载了dplyr的函数找不到“%<>%”》经验,为你挑选了1个好方法。

[免责声明:类似的问题已经问了很多遍了。我不认为这与我刚刚阅读的许多线程相同。]

我做了:

library(dplyr)
colnames(LarvalSamples) %<>% 
  stringr::str_remove_all("_log") %>% 
  stringr::str_replace_all("Sea_Level", "Sea_Level_Height") %>% #sealevel, sealion, chinook, chl
  stringr::str_replace_all("SeaLion", "Sea_lion") %>% 
  stringr::str_replace_all("Chinook_Salmon", "Salmon") %>% 
  stringr::str_replace_all("Chlorophyll_a", "Chlorophyll_A")

工作正常,没有消息,按预期/期望输出。然后,我复制/粘贴了前两行,除了终端管道:

colnames(LarvalSamples) %<>%
  stringr::str_remove_all("_log")

colnames(LarvalSamples)中的错误%<>%stringr :: str_remove_all(“ _ log”):找不到函数“%<>%”

我意识到这里还有其他关于找不到函数的文章,但是dplyr仅在上面两行中就已加载并处理了更多代码。发生这种情况时,中没有任何"_log"模式,colnames但是我尝试了一个不同的字符模式,该字符模式确实存在并且失败了,因此这是消除错误的一个潜在来源。任何想法/猜测都表示赞赏,这比问题tbh更像是一个错误,但是如果需要的话,在将其提升到更高层次之前,最好能有敏锐的目光。谢谢。

> sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252   
[3] LC_MOnETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] dplyr_0.8.0.1  beepr_1.3      gbm.auto_1.2.0

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0       compiler_3.5.0   pillar_1.3.1     shapefiles_0.7   tools_3.5.0      tibble_2.0.1    
 [7] gtable_0.2.0     lattice_0.20-35  pkgconfig_2.0.2  rlang_0.3.1      Matrix_1.2-14    DBI_1.0.0       
[13] rstudioapi_0.9.0 rgdal_1.4-2      gbm_2.1.5        dismo_1.1-4      gridExtra_2.3    stringr_1.4.0   
[19] raster_2.8-19    mapplots_1.5.1   rgeos_0.4-2      grid_3.5.0       tidyselect_0.2.5 glue_1.3.0      
[25] R6_2.4.0         survival_2.41-3  foreign_0.8-70   sp_1.3-1         purrr_0.3.1      magrittr_1.5    
[31] codetools_0.2-15 splines_3.5.0    maptools_0.9-5   assertthat_0.2.0 stringi_1.3.1    crayon_1.3.4    
[37] audio_0.1-5.1  

更新:下面的可复制示例。这肯定是一个错误。借助全新的系统:

Data <- data.frame(
    Name_Bad = sample(1:10),
    Name_Guud = sample(1:10)
  )

  colnames(Data) %<>%
    stringr::str_remove_all("_Bad") %>%
    stringr::str_replace_all("Guud", "Good")
  # Error: could not find function "%>%"

  install.packages("dplyr")
  library(dplyr)
  install.packages("stringr")
  library(stringr)

  colnames(Data) %<>%
    stringr::str_remove_all("_Bad") %>%
    stringr::str_replace_all("Guud", "Good")
# no error, worked

  colnames(Data) %<>%
    stringr::str_remove_all("_Bad")
  # Error: could not find function "%<>%"

Konrad Rudol.. 6

%<>%不是由dplyr导出的(仅%>%是)。您需要加载magrittr。

您的可重现示例遇到了一个细微的magrittr错误,该错误导致对管道表达式的求值在magrittr的范围内而不是在调用范围内搜索某些运算符。这样,x %<>% y %>% z评估为`%>%`(x %<>% y, z),就可以找到并评估magrittr的`%<>%`算子。



1> Konrad Rudol..:

%<>%不是由dplyr导出的(仅%>%是)。您需要加载magrittr。

您的可重现示例遇到了一个细微的magrittr错误,该错误导致对管道表达式的求值在magrittr的范围内而不是在调用范围内搜索某些运算符。这样,x %<>% y %>% z评估为`%>%`(x %<>% y, z),就可以找到并评估magrittr的`%<>%`算子。


推荐阅读
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
author-avatar
etqq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有