r - 计算变量的频率

标签 r

我想将一个数据框(df)转换成一个不同的数据框(df1),其中df1的行对应B 列 (df) 的出现频率。也就是说,在数据框 df1 中,行中的值对应于它们在 df 的 B 列中出现的次数,对于df。这是一个例子:

df


      A        B
  1. 21      2011
  2. 21      2012
  3. 21      2011
  4. 22      2013
  5. 22      2011
  6. 23      2012
  7. 23      2011
  8. 23      2012
  9. 23      2014

df1

           2011   2012    2013    2014
  1. 21     2       1       0       0
  2. 22     1       0       1       0
  3. 23     1       2       0       1

最佳答案

使用 base-r 中的 table 函数:

table(df)
#      B
# A    2011 2012 2013 2014
# 21    2    1    0    0
# 22    1    0    1    0
# 23    1    2    0    1

关于r - 计算变量的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253901/

相关文章:

R:从字符串中提取大写字母的子串

r - 如何根据列中的信息重命名行名的子集?

r - R's lubridate 中的独家时间间隔

r - 使用 `` magrittr : :`%>%` `` 时 magrittr 管道出错

r - 在动物园工作几个月

r - 使用glue::glue时处理命名空间的更好方法

r - 在R中计算R2(R平方)的函数

从两组中随机取出相等数量的元素——从一个具有相同数量元素的数据帧创建两个子数据帧

R - ggplot2 'dodge' geom_step() 重叠 geom_bar()

r - ggplot : adding color aesthetic changes stack order