R 函数从重复的hhid列表中生成单个hhid虚拟变量(带有示例数据代码)
我在R中有如下数据:R 函数从重复的hhid列表中生成单个hhid虚拟变量(带有示例数据代码),r,matrix,R,Matrix,我在R中有如下数据: df.original <-data.frame(hhid = c(1001, 1001, 1001, 1002, 1002, 1003, 1004), item = c("candybar","toycar","chair","candybar", "chair", "candybar", "sled")) df.original库(tidyverse) df.所需百分比 变异(项=as.character(项))%>% 变异(值=1)%>% 排列(项目、值、填充
df.original <-data.frame(hhid = c(1001, 1001, 1001, 1002, 1002, 1003, 1004), item = c("candybar","toycar","chair","candybar", "chair", "candybar", "sled"))
df.original库(tidyverse)
df.所需百分比
变异(项=as.character(项))%>%
变异(值=1)%>%
排列(项目、值、填充=0)%>%
选择(hhid、烛台、玩具车、椅子、雪橇)
使现代化
如果您只想使用基R中的函数
dat <- table(df.original)
dat2 <- as.data.frame.matrix(dat)
dat2$hhid <- row.names(dat2)
df.desired <- dat2[, c("hhid", "candybar", "toycar", "chair", "sled")]
row.names(df.desired) <- 1:4
dat Nice ycw。工作完美。
library(tidyverse)
df.desired <- df.original %>%
mutate(item = as.character(item)) %>%
mutate(Value = 1) %>%
spread(item, Value, fill = 0) %>%
select(hhid, candybar, toycar, chair, sled)
dat <- table(df.original)
dat2 <- as.data.frame.matrix(dat)
dat2$hhid <- row.names(dat2)
df.desired <- dat2[, c("hhid", "candybar", "toycar", "chair", "sled")]
row.names(df.desired) <- 1:4