【发布时间】:2018-10-15 19:27:33
【问题描述】:
要创建属性,我可以这样做
dat$clas <- ifelse(grepl("den", dat$stuff), "bak",
ifelse(grepl("kro", dat$stuff), "bak1",
ifelse(grepl("ris", dat$stuff), "bak3",
ifelse(grepl("muka", dat$stuff), "rty",
ifelse(grepl("chlo", dat$stuff), "cos",
ifelse(grepl("prokl", dat$stuff), "gig", "no"))))))
但是我有很多属性,假设有 200 个属性。 使用这样的 ifelse 语句写起来时间长,而且代码也很长。 我可以从数据框中使用它吗?
templatedata<-prod clas
den bak
kro bak1
ris bak3
muka rty
chlo cos
prokl gig
)
templatedata=structure(list(prod = structure(c(2L, 3L, 6L, 4L, 1L, 5L), .Label = c("chlo\t",
"den", "kro\t", "muka", "prokl\t", "ris\t"), class = "factor"),
class = structure(c(1L, 2L, 3L, 6L, 4L, 5L), .Label = c("bak",
"bak1", "bak3", "cos", "gig", "rty"), class = "factor")), .Names = c("prod",
"class"), class = "data.frame", row.names = c(NA, -6L))
所以
workingdataset<-(
prod
den sg
kro serdgt
ris szdg
muka aszgt
chlo sdgt
prokl zfdsgr
den zdasfh)
workingdataset=structure(list(prod = structure(c(2L, 4L, 7L, 5L, 1L, 6L, 3L), .Label = c("chlo sdgt",
"den sg", "den zdasfh)", "kro serdgt", "muka aszgt", "prokl zfdsgr",
"ris szdg"), class = "factor")), .Names = "prod", class = "data.frame", row.names = c(NA,
-7L))
我使用模板数据来获取工作数据集中的属性。
作为输出 workingdataset 看起来像
prod clas
den sg bak
kro serdgt bak1
ris szdg bak3
muka aszgt rty
chlo sdgt cos
prokl zfdsgr gig
den vv bak
怎么做
【问题讨论】:
-
stackoverflow.com/questions/1299871/… 这不适合我的任务(我使用短语)
-
@MrFlick,我编辑了帖子,我能做的就是做 dput。现在工作数据集包含带有关键词的短语。我必须通过这个关键字从模板数据创建属性
-
@MrFlick,我提供了输出
标签: r if-statement dplyr grepl