查找所有单词末尾或点前面带有“<-”的单词

Man*_*l R 3 regex r

我如何提取所有<-在单词末尾或介于两者之间带有符号“ ”的单词,但在后一种情况下,仅当“ <-”符号后跟一个点时。

把它放在上下文中。练习 6.5.3 的哈德利Wickhams -预研 要求读者列出基本包所有替代函数。

只有一种方法的替换函数由<- 函数名称末尾的符号表示。但是,泛型函数的方法名称附加到替换形式的名称(带一个点),这样<-不再位于函数名称的末尾。例子split<-.data.frame

编辑:

obj <- mget(ls("package:base"), inherits = TRUE)
funs <- Filter(is.function, objs)
Run Code Online (Sandbox Code Playgroud)

这就是您提取基础包中所有功能的方式。现在我只想找到替换功能。

Ric*_*ven 6

如果您想要所有基础包替换功能及其各自的 S3 方法,您可以尝试

ls(envir = as.environment("package:base"), pattern = "<-")
Run Code Online (Sandbox Code Playgroud)

没有加载包,这给出了以下结果:

 [1] "<<-"                     "<-"                      "[<-"                    
 [4] "[[<-"                    "@<-"                     "$<-"                    
 [7] "attr<-"                  "attributes<-"            "body<-"                 
[10] "class<-"                 "colnames<-"              "comment<-"              
[13] "[<-.data.frame"          "[[<-.data.frame"         "$<-.data.frame"         
[16] "[<-.Date"                "diag<-"                  "dim<-"                  
[19] "dimnames<-"              "dimnames<-.data.frame"   "Encoding<-"             
[22] "environment<-"           "[<-.factor"              "[[<-.factor"            
[25] "formals<-"               "is.na<-"                 "is.na<-.default"        
[28] "is.na<-.factor"          "is.na<-.numeric_version" "length<-"               
[31] "length<-.factor"         "levels<-"                "levels<-.factor"        
[34] "mode<-"                  "mostattributes<-"        "names<-"                
[37] "names<-.POSIXlt"         "[<-.numeric_version"     "[[<-.numeric_version"   
[40] "oldClass<-"              "parent.env<-"            "[<-.POSIXct"            
[43] "[<-.POSIXlt"             "regmatches<-"            "row.names<-"            
[46] "rownames<-"              "row.names<-.data.frame"  "row.names<-.default"    
[49] "split<-"                 "split<-.data.frame"      "split<-.default"        
[52] "storage.mode<-"          "substr<-"                "substring<-"            
[55] "units<-"                 "units<-.difftime"
Run Code Online (Sandbox Code Playgroud)

感谢@42 帮助我改进这个答案。