hits <- vapply(titles,
FUN = grepl,
FUN.VALUE = logical(length(pass_names)),
pass_names)
titles
是带有标题的 vector ,例如"mr"
,pass_names
是名称列表。2个问题。
pass_names
,也不知道我对这四个参数有什么了解。在?vapply
下,它指定了x,FUN
,FUN.VALUE
,但是我无法弄清楚应该如何在其中列出pass_names
。 我在网上看了一下,找不到答案,所以我希望这也会对其他人有所帮助。预先感谢您的回答,是的,我是初学者。
额外信息:这个问题使用R中的titanic包,
pass_names
只是titanic$Name
,titles
只是paste(",", c("Mr\\.", "Master", "Don", "Rev", "Dr\\.", "Major", "Sir", "Col", "Capt", "Jonkheer"))
最佳答案
你有点困惑是对的。
您问题中的vapply
代码块等效于:
hits <- vapply(titles,
FUN = function(x) grepl(x, pass_names),
FUN.VALUE = logical(length(pass_names)))
vapply
接受...
参数,该参数接受所提供的参数。如果未命名参数(请参见@Roland的注释),则...
位置中的第n个参数将传递给FUN
的第n + 1个参数(FUN
的第一个参数是X
,即本例中的titles
)。所得矩阵的行数与
titanic
中的行数相同,并且有10列,即titles
的长度。如果第[i, j]
个第TRUE
与i
中的pass_names
第一个j
正则表达式匹配,则第titles
个条目为FALSE
,如果不匹配。关于r - 由内部使用grepl的vapply函数混淆(datacamp类(class)的一部分),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48768642/