R 如何在一行中转换不同的级别
我有一组如下数据:R 如何在一行中转换不同的级别,r,tidyverse,spread,R,Tidyverse,Spread,我有一组如下数据: BETA_LACT R I S - 23 25 91 - 30 0 109 - 0 0 136 + 73 0 0 + 14 0 59 + 0 0 49 我想将数据转换为以下格式: R_- I_- S_- R_+ I_+ S_+ 23 25 91 73 0 0 30 0 109 14 0 59 0 0 136 0 0 49 我尝试了spread(),但失败了,有
BETA_LACT R I S
- 23 25 91
- 30 0 109
- 0 0 136
+ 73 0 0
+ 14 0 59
+ 0 0 49
我想将数据转换为以下格式:
R_- I_- S_- R_+ I_+ S_+
23 25 91 73 0 0
30 0 109 14 0 59
0 0 136 0 0 49
我尝试了spread(),但失败了,有人能帮我吗?我怀疑您使用
spread
和collect
的问题在于,您的示例数据中没有任何内容可以建议应该折叠哪些行。作为一个人,我可以观察到您希望合并第1行和第4行、第2行和第5行等。但是,在您的数据集中没有其他列或“键”来表示这一点
一种解决方案是添加一个索引列,如我在下面的第二个示例中所示,使用groupby
和mutate
。以下reprex
(可复制示例)显示了与您的案例类似的非工作示例和工作示例
library(tidyr)
图书馆(dplyr)
示例_数据“我尝试了spread(),但失败了,有人能帮我吗?”您能说明您尝试了什么以及错误消息是什么吗?尝试先收集字母列,然后合并,然后传播