для создания атрибутов, я могу сделать это
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 требует много времени для написания и будет длинный код.Могу ли я использовать его из dataframe.
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))
Я использую templatedata для получения атрибута в наборе рабочих данных.
как вывод workingdataset
выглядит как
prod clas
den sg bak
kro serdgt bak1
ris szdg bak3
muka aszgt rty
chlo sdgt cos
prokl zfdsgr gig
den vv bak
как это сделать