有一个这样的数据文件:
data.frame(id = c(1,2), text = c("Google,Amazon", "Amazon,Yahoo"), stringsAsFactors = FALSE)
# id text
# 1 1 Google,Amazon
# 2 2 Amazon,Yahoo如何使用逗号分隔符从文本列创建。预期产出实例:
data.frame(id = c(1,2), Google = c(1,0), Amazon = c(1,1), Yahoo = c(0,1))
# id Google Amazon Yahoo
# 1 1 1 1 0
# 2 2 0 1 1发布于 2020-06-23 12:52:12
使用库dplyr和tidyr
library(dplyr)
library(tidyr)
df %>%
mutate(
text = strsplit(text, ","),
value = 1
) %>%
unnest(text) %>%
pivot_wider(
id_cols = id,
names_from = text,
values_from = value,
values_fill = list(value = 0)
)输出
# A tibble: 2 x 4
# id Google Amazon Yahoo
# <dbl> <dbl> <dbl> <dbl>
# 1 1 1 1 0
# 2 2 0 1 1https://stackoverflow.com/questions/62534933
复制相似问题