你能在特定的组中获取值,并将它们分别放在R中的一个新列中吗?

你能在特定的组中获取值,并将它们分别放在R中的一个新列中吗?,r,data-manipulation,R,Data Manipulation,我想为一列的每个值创建多个新列,并按另一列分组。 例如,如果我有: session side_effect: 1 dizzy 1 irritable 1 anxious 3 focused 3 anxious 7 relaxed 我能得到这个吗: session

我想为一列的每个值创建多个新列,并按另一列分组。 例如,如果我有:

    session      side_effect:

        1          dizzy
        1          irritable
        1          anxious
        3          focused
        3          anxious
        7          relaxed
我能得到这个吗:

      session     side_effect1   side effect_2  side_effect_3
        1           dizzy          irritable       anxious
        3           focused        anxious
        7           relaxed 

我们可以使用
pivot\u wide
from
tidyr
将“长”格式转换为“宽”格式

library(dplyr)
library(tidyr)
df1 %>%
     group_by(session) %>% 
     mutate(rn = str_c('side_effect_', row_number())) %>% 
     pivot_wider(names_from = rn, values_from = side_effect)
# A tibble: 3 x 4
#  session side_effect_1 side_effect_2 side_effect_3
#    <int> <chr>         <chr>         <chr>        
#1       1 dizzy         irritable     anxious      
#2       3 focused       anxious       <NA>         
#3       7 relaxed       <NA>          <NA>      
库(dplyr)
图书馆(tidyr)
df1%>%
分组人(会话)%>%
突变(rn=str_c('副作用',行数())%>%
枢轴宽度(名称从=rn,值从=副作用)
#一个tibble:3x4
#会话副作用1副作用2副作用3
#                               
#1头晕易怒焦虑
#2.3专注焦虑
#37放松
数据
df1我们可以使用
pivot\u wide
from
tidyr
将“长”格式转换为“宽”格式

library(dplyr)
library(tidyr)
df1 %>%
     group_by(session) %>% 
     mutate(rn = str_c('side_effect_', row_number())) %>% 
     pivot_wider(names_from = rn, values_from = side_effect)
# A tibble: 3 x 4
#  session side_effect_1 side_effect_2 side_effect_3
#    <int> <chr>         <chr>         <chr>        
#1       1 dizzy         irritable     anxious      
#2       3 focused       anxious       <NA>         
#3       7 relaxed       <NA>          <NA>      
库(dplyr)
图书馆(tidyr)
df1%>%
分组人(会话)%>%
突变(rn=str_c('副作用',行数())%>%
枢轴宽度(名称从=rn,值从=副作用)
#一个tibble:3x4
#会话副作用1副作用2副作用3
#                               
#1头晕易怒焦虑
#2.3专注焦虑
#37放松
数据
df1工作正常非常感谢!!非常好,非常感谢!!