在R中重新估价,但有违约
我正在使用在R中重新估价,但有违约,r,regex,plyr,R,Regex,Plyr,我正在使用plyr包中的rewage函数重新分配长字符向量的名称,如下例所示: sites <- c("example1.com","example2.com","facebook.com","google.com","example3.com") replace <- c(facebook.com = "Facebook", google.com = "Google") revalue(sites,replace) # [1] "example1.com" "example2.co
plyr
包中的rewage
函数重新分配长字符向量的名称,如下例所示:
sites <- c("example1.com","example2.com","facebook.com","google.com","example3.com")
replace <- c(facebook.com = "Facebook", google.com = "Google")
revalue(sites,replace)
# [1] "example1.com" "example2.com" "Facebook" "Google" "example3.com"
但我不能花时间将每个站点都包含在我的replace
向量中。最好的方法是什么
谢谢 这里有一个替代方案
> sites <- gsub("\\.com$", "", sites)
> ifelse(sites %in% c("facebook", "google"), sites, "other")
[1] "other" "other" "facebook" "google" "other"
>sites-ifelse(站点%in%c(“facebook”、“谷歌”)、站点“其他”)
[1] “其他”“其他”“facebook”“谷歌”“其他”
您可以使用mapvalues()替换多个级别,然后使用Revalues()替换单个级别:
library(dplyr)
library(plyr)
sites %>%
mapvalues(from=c("example1.com", "example2.com", "example3.com"), to=c(rep("other",3))) %>%
revalue(replace)
谢谢--ifelse
对我来说非常有用(尽管我仍然需要使用Revalue
,因为我的替换更加复杂)。
library(dplyr)
library(plyr)
sites %>%
mapvalues(from=c("example1.com", "example2.com", "example3.com"), to=c(rep("other",3))) %>%
revalue(replace)