[英]How to create a new dataframe with the serie of the answer ( at different times ) to a question for each user id
I'm working on a dataframe with a lot of questions and some people answered several times to the inquiry.我正在研究一个有很多问题的数据框,有些人多次回答了这个问题。 I would like to study the evolution of their answer.我想研究他们答案的演变。
I have a database that looks like:我有一个看起来像这样的数据库:
User ID用户身份 | Time时间 | Answer回答 |
---|---|---|
User A用户A | 2012-01 2012-01 | 5 5个 |
User B用户乙 | 2012-02 2012-02 | 6 6个 |
User B用户乙 | 2012-01 2012-01 | 5 5个 |
User B用户乙 | 2012-03 2012-03 | 6 6个 |
User A用户A | 2012-02 2012-02 | 5 5个 |
User C用户C | 2012-03 2012-03 | 6 6个 |
And I would like to have a dataframe with the answer of each user classed by time like that:我想要一个数据框,其中包含按时间分类的每个用户的答案:
User ID用户身份 | 2012-01 2012-01 | 2012-02 2012-02 | 2012-03 2012-03 |
---|---|---|---|
User A用户A | 5 5个 | 6 6个 | X X |
User B用户乙 | 5 5个 | 5 5个 | X X |
User C用户C | X X | X X | 6 6个 |
Do you know how I could do that?你知道我该怎么做吗?
I've tried to use group by user ID but it didn't work.我试过按用户 ID 使用组,但没有用。
library(tidyr)
# Your data
df<-read.table(text="
User ID Time Answer
User A 2012-01 5
User B 2012-02 6
User B 2012-01 5
User B 2012-03 6
User A 2012-02 5
User C 2012-03 6",
header=TRUE)
df %>%
pivot_wider(names_from = Time,
values_from=Answer)
# A tibble: 3 × 5
User ID `2012-01` `2012-02` `2012-03`
<chr> <chr> <int> <int> <int>
1 User A 5 5 NA
2 User B 5 6 6
3 User C NA NA 6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.