R根据另一列中的因素创建新列

莫戈

我是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)

.....这对我有用,但是要花很多时间,更改列名是此问题的另一部分。

提前致谢。

阿尼尔·戈亚尔(AnilGoyal)

尝试这个

df %>% group_by(category) %>% mutate(id = row_number()) %>% ungroup() %>% pivot_wider(id_cols = id, names_from = category, values_from = cond) %>% select(-id) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一列中的值创建新列

根据另一列 R 中的条件创建一个新列

根据r中另一列的观测值创建新列

根据R中的另一列创建类别列

从R中的另一列创建新列

根据另一列的值创建新列

根据另一列的值创建新列

根据另一列的内容在R中创建一个新列[特定情况]

根据另一列中的值创建新的r data.table列并进行分组

根据pandas中另一列的状态创建一个新列

根据R中另一列中的唯一值创建批次的升序值,并批量添加新数据

根据字母“l”或“L”是否在另一列的字符串中创建新列

根据另一列的值在熊猫中创建新列

是否可以根据值在另一列中更改的时间来创建新列?

使用 map() 时出错:根据另一列中的值创建新的 Pandas 列

根据另一列中的字符串值创建新列

根据列表中的另一列内容创建新的列值

根据另一列中的值的最后两位数字创建新列

根据在另一列中测试的条件创建带有组标签的新列

如何根据另一列 SQL 中的值创建具有计数值的新列

根据另一列熊猫的300条相邻行中的值创建新列

根据熊猫中另一列的值创建新列

跟进-根据熊猫中另一列的值创建新列

如何根据另一列中的多个条件创建新列

根据一列中的条件在数据框中创建新变量,从另一列中提取?(dplyr)

在R中创建另一列

根据一列的字符和另一列的条件创建新列

根据另一列中的因素重塑数据框中的数字变量

根据前一列中的值创建新列