R 替换一个数据集在另一个数据集中的引用
我有一个名为Messages的数据集,其中包含C错误。我有第二个名为Usernames的数据集,其中包含一个用户名列表。我想删除邮件中出现的任何用户名。任何邮件的用户名不应超过1次。我原以为我可以用gsubfn实现这一点,但它输出所有空值。有人能告诉我最好的方法吗R 替换一个数据集在另一个数据集中的引用,r,powerbi,R,Powerbi,我有一个名为Messages的数据集,其中包含C错误。我有第二个名为Usernames的数据集,其中包含一个用户名列表。我想删除邮件中出现的任何用户名。任何邮件的用户名不应超过1次。我原以为我可以用gsubfn实现这一点,但它输出所有空值。有人能告诉我最好的方法吗 usrNm <- c(dataset2$username) stripUsername <- function(x) {gsubfn(usrNm,'',x)} noUsernames <- within(datase
usrNm <- c(dataset2$username)
stripUsername <- function(x) {gsubfn(usrNm,'',x)}
noUsernames <- within(dataset,{Message=stripUsername(dataset$Message)})
这里有一个方法:
library(stringi)
stri_replace_all_fixed(dataset$Message, dataset2$Username, '', vectorize_all = FALSE)
输出
资料
library(stringi)
stri_replace_all_fixed(dataset$Message, dataset2$Username, '', vectorize_all = FALSE)
[1] "User: sent bad data" "Error occurred in System.Module."
[3] "Hello, world!" "Tracing request by !"
dataset <- data.frame(
Message = c("User: Mary.Jane sent bad data", "Error occurred in System.Module.", "Hello, world!", "Tracing request by Robert.Frost!"),
stringsAsFactors = FALSE
)
dataset2 <- data.frame(
Username = c("Mary.Jane", "Robert.Frost", "BB.Wolf")
)