根据上一列中的值按比例填充新变量?

盖伊

我想使用数据框中其他地方的信息创建一个新变量。这看起来很简单,但我想按比例分配新变量的级别。

我有一个数据框:

dd<-read.table(text="
group     piece      answer
group1     A          noise
group1     A          silence
group1     A          silence
group1     B          silence
group1     B          loud_noise
group1     B          noise
group1     B          loud_noise
group1     B          noise
group2     C          silence
group2     C          silence", header=TRUE)

我想创建一个具有两个级别的新变量“majority_annotation”:好和坏。好意味着每件作品都有多数答案同意(> 55%)。坏意味着该片没有多数答案同意。

    group     piece      answer       majority_agreement
    group1     A          noise       good 
    group1     A          silence     good
    group1     A          silence     good
    group1     B          silence     bad
    group1     B          loud_noise  bad
    group1     B          noise       bad
    group1     B          loud_noise  bad
    group1     B          noise       bad
    group2     C          silence     good
    group2     C          silence     good

我可以以二进制方式执行此操作(全部或不同意):

    newdf <- df %>% 
      group_by(group) %>% 
      mutate(majority_agreement = ifelse(length(unique(answer)) <= 1,        
    'good', 
          ifelse(length(unique(answer) > 1) & 
          (length(unique(answer)) >= 2), 'bad', 'bad'))) %>% 
      as.data.frame

我怎么能按比例做呢?

乔恩·斯普林
library(dplyr)
newdf <- df %>% 
  count(group, piece, answer) %>%   # How many of each answer for each group & piece
  group_by(group, piece) %>%
  mutate(share = n / sum(n)) %>%  # What share have this answer?
  summarize(max_share = max(share)) %>%  # What's the largest share among them?
  mutate(majority_agreement = if_else(max_share > 0.55, "good", "bad")) %>%
  ungroup() %>%
  right_join(df)  # Add the conclusion back to the original data

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据R中另一列的值使用二进制变量填充新列

来自分类Dev

如何根据上一列的值填充excel中的一列?

来自分类Dev

如何使用dplyr根据另一列的不同值在新列中填充不同的值?

来自分类Dev

根据一列中唯一值的数量计算出的新变量

来自分类Dev

如何根据另一列中的值填充另一列中的值?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

根据另一列的汇总在一列中填充空值

来自分类Dev

Excel公式根据另一列中的值填充一列

来自分类Dev

根据另一列中的值填充一列-Pandas

来自分类Dev

根据另一列中的值填充和填充多列中的单元格

来自分类Dev

根据熊猫中另一列上的值在数据框中创建一个新列

来自分类Dev

如何添加新列,并根据另一列的系列填充特定值?

来自分类Dev

DAX用于根据同一列的上一行填充列值

来自分类Dev

根据熊猫数据框中另一列的最后一个值填充列

来自分类Dev

根据该行中的列的值按比例将数字除以每一行 MySQL PHP

来自分类Dev

如何根据另一列中的间隔填充熊猫中其他列的缺失值?

来自分类Dev

根据R中另一列的值范围按列值选择行

来自分类Dev

根据另一列的值填充CSV列

来自分类Dev

R编码如何添加一列并根据其他两列中的值填充它

来自分类Dev

熊猫-创建一个新列,在另一列中填充观察值

来自分类Dev

根据另一列中的条件将值插入另一列中的新列中

来自分类Dev

根据另一列的先前观察值创建新变量

来自分类Dev

Python函数根据另一列填充nan值

来自分类Dev

根据条件填充另一列(熊猫)的空值

来自分类Dev

熊猫:根据另一列中的值按名称对多个列进行子集

来自分类Dev

在熊猫中,如何从一列中的唯一值中创建列,然后根据另一列中的值填充它?

来自分类Dev

根据另一列在Pandas中填充非数字值

来自分类Dev

按 min 分组并用另一列中的值填充 NA

Related 相关文章

  1. 1

    根据R中另一列的值使用二进制变量填充新列

  2. 2

    如何根据上一列的值填充excel中的一列?

  3. 3

    如何使用dplyr根据另一列的不同值在新列中填充不同的值?

  4. 4

    根据一列中唯一值的数量计算出的新变量

  5. 5

    如何根据另一列中的值填充另一列中的值?

  6. 6

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

  7. 7

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

  8. 8

    根据另一列的汇总在一列中填充空值

  9. 9

    Excel公式根据另一列中的值填充一列

  10. 10

    根据另一列中的值填充一列-Pandas

  11. 11

    根据另一列中的值填充和填充多列中的单元格

  12. 12

    根据熊猫中另一列上的值在数据框中创建一个新列

  13. 13

    如何添加新列,并根据另一列的系列填充特定值?

  14. 14

    DAX用于根据同一列的上一行填充列值

  15. 15

    根据熊猫数据框中另一列的最后一个值填充列

  16. 16

    根据该行中的列的值按比例将数字除以每一行 MySQL PHP

  17. 17

    如何根据另一列中的间隔填充熊猫中其他列的缺失值?

  18. 18

    根据R中另一列的值范围按列值选择行

  19. 19

    根据另一列的值填充CSV列

  20. 20

    R编码如何添加一列并根据其他两列中的值填充它

  21. 21

    熊猫-创建一个新列,在另一列中填充观察值

  22. 22

    根据另一列中的条件将值插入另一列中的新列中

  23. 23

    根据另一列的先前观察值创建新变量

  24. 24

    Python函数根据另一列填充nan值

  25. 25

    根据条件填充另一列(熊猫)的空值

  26. 26

    熊猫:根据另一列中的值按名称对多个列进行子集

  27. 27

    在熊猫中,如何从一列中的唯一值中创建列,然后根据另一列中的值填充它?

  28. 28

    根据另一列在Pandas中填充非数字值

  29. 29

    按 min 分组并用另一列中的值填充 NA

热门标签

归档