我如何提取所有<-
在单词末尾或介于两者之间带有符号“ ”的单词,但在后一种情况下,仅当“ <-
”符号后跟一个点时。
把它放在上下文中。练习 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)
这就是您提取基础包中所有功能的方式。现在我只想找到替换功能。
如果您想要所有基础包替换功能及其各自的 S3 方法,您可以尝试
ls(envir = as.environment("package:base"), pattern = "<-")
Run Code Online (Sandbox Code Playgroud)
没有加载包,这给出了以下结果:
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"
感谢@42 帮助我改进这个答案。