【发布时间】:2020-03-18 13:40:01
【问题描述】:
晚安!我是巴西人,英语说得不太好。我使用的数据库超过 10000 行,如下例所示。
df <- data.frame(
PROCESS = c(180022121, 180022121, 180022105, 180022105, 180022097, 180022097, 180022097, 180022501, 180022501),
NAME = c("A_NONIMATO", "A_NONIMATO", "C_NONIMATO", "C_NONIMATO", "D_NONIMATO", "D_NONIMATO", "D_NONIMATO", "G_NONIMATO", "G_NONIMATO"),DATE = c("02/01/2018", "02/01/2018", "01/01/2018", "01/01/2018", "01/01/2018", "01/01/2018", "01/01/2018", "02/01/2018", "02/01/2018"),
CRIME = c("ART.33", "ART.33", "ART.35", "ART.33", "ART.155", "ART.155", "ART.155", "ART.157", "ART.14CP"))
我的问题:我想创建列(CRIME2、CRIME3、CRIME4 等),按照相同的流程、相同的名称和相同的日期将犯罪分开。有多少犯罪就有多少列。
看起来像这样:
df2 <- data.frame(PROCESS = c(180022121, 180022105, 180022097, 180022501),
NAME = c("A_NONIMATO", "C_NONIMATO", "D_NONIMATO", "G_NONIMATO"),
DATE = c("02/01/2018", "01/01/2018", "01/01/2018", "02/01/2018"),
CRIME = c("ART.33", "ART.35", "ART.155", "ART.157"),
CRIME2 = c("ART.33", "ART.33", "ART.155", "ART.14CP"),
CRIME3 = c("NA", "NA", "ART.155", "NA"),
CRIME4 = c("NA", "NA", "NA", "NA"))
【问题讨论】:
-
没时间回答,但你要
tidyr::spread:tidyr.tidyverse.org/reference/spread.html -
或
pivot_wider以获得更多功能。