我有以下名为temp的数据集:
> >temp
# A tibble: 9 x 3
ID PainScore PainScoreOrder
<int> <int> <chr>
1 1 4 First
2 1 2 Middle
3 1 3 Middle
4 1 3 Last
5 2 9 First
6 2 8 Last
7 3 7 First
8 3 4 Middle
9 3 5 Last
我正在尝试创建一个摘要表,其中每个ID只有一行,PainScoreOrder =“First”的PainScore值另外一列,PainScoreOrder =“Last”的PainScore值的附加列。我想忽略PainScoreOrder =“Middle”的值。我想要的应该是这样的:
> temp2
# A tibble: 3 x 3
ID First Last
<dbl> <dbl> <dbl>
1 1 4 3
2 2 9 8
3 3 7 5
我正在尝试在dplyr中执行此操作,但我愿意接受任何其他解决方案。
我不是在寻找代码来做这件事,而是在正确的方向上轻推。我甚至无法弄清楚要搜索什么来试图解决这个问题。
我尝试过使用汇总的各种方法但没有成功。我认为答案是使用spread命令,但是,当我尝试以下代码时:
> temp %>%
spread(PainScoreOrder, PainScore, -ID)
我收到以下错误代码:
错误:行(2,3)的重复标识符
我为提出这样一个模糊的问题而道歉,但我觉得如果我知道的话更具体,我就知道如何解决我的问题。同样,我只需要建议要寻找什么。
感谢我在这里第一个问题对我很温柔。
答案 0 :(得分:3)
你走了:
df %>%
filter(PainScoreOrder != "Middle") %>%
spread(key = PainScoreOrder, value = PainScore)
我假设您在每个组中只有一个First
和Last
的观察结果。