我对R语言还比较陌生。我的问题并不完全像标题那样简单直接。以下是df
的一个示例:
id amenities
1 wireless internet, air conditioning, pool, kitchen
2 pool, kitchen, washer, dryer
3 wireless internet, kitchen, dryer
4
5 wireless internet
这就是我希望的df
的样子:
id wireless internet air conditioning pool kitchen washer dryer
1 1 1 1 1 0 0
2 0 0 1 1 1 1
3 1 0 0 1 0 1
4 0 0 0 0 0 0
5 1 0 0 0 0 0
重现数据的示例代码
df <- data.frame(id = c(1, 2, 3, 4, 5),
amenities = c("wireless internet, air conditioning, pool, kitchen",
"pool, kitchen, washer, dryer",
"wireless internet, kitchen, dryer",
"",
"wireless internet"),
stringsAsFactors = FALSE)
df2 <- stack(setNames(dat,seq_along(dat)))[2:1]
然后cbind(df["id"], unclass(table(df2)))
- thelatemail