我有以下的tibble:
我认为
structure(list(age = c("21", "17", "32", "29", "15"),
gender = structure(c(2L, 1L, 1L, 2L, 2L), .Label = c("Female", "Male"), class = "factor")),
row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("age", "gender"))
age gender
<chr> <fctr>
1 21 Male
2 17 Female
3 32 Female
4 29 Male
5 15 Male
我正在尝试使用tidyr::spread
来实现这个目标:
Female Male
1 NA 21
2 17 NA
3 32 NA
4 NA 29
5 NA 15
我认为
spread(gender, age)
会起作用,但是我收到一个错误信息,内容如下:
Error: Duplicate identifiers for rows (2, 3), (1, 4, 5)
df %>% mutate(i = row_number()) %>% spread(gender, age)
。在这种情况下并不是非常有用,但在更复杂的上下文中有时会用到。 - alistairevignette('tidy-data', 'tidyr')
也可能会有所帮助。 - alistaire