我是R新手;尝试进行一些基本的数据操作。但是,我已经被这个问题困扰了2天了。
假设我有一个像下面这样的数据框,它包含60个obs,“ category”列中的每个变量都具有相同的数量:
category cond
1 A 1
2 B 2
3 C 1
4 D 1
5 E 1
6 F 3
7 A 5
8 B 0
.. .. ..
60 F 2
所需的新数据帧(通过“ cond”列):
A B C D E F
1 1 2 1 1 0 3
2 5 0 . . . .
3 . . . . . .
. . . . . . .
. . . . . . .
10 . . . . . 2
由于第一个数据帧具有60行(“类别”列中的所有变量均具有等于60/6 = 10的数字),因此新数据帧具有10行。
我已经尝试过这个
A<-old%>% filter(category =="A")%>%summarise(`cond`)
B<-old%>% filter(category =="B")%>%summarise(`cond`)
new<-cbind(A,B)
.....这对我有用,但是要花很多时间,更改列名是此问题的另一部分。
提前致谢。
尝试这个
df %>% group_by(category) %>% mutate(id = row_number()) %>% ungroup() %>% pivot_wider(id_cols = id, names_from = category, values_from = cond) %>% select(-id)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句