r - 在 R 中以特定方式计算出现次数
问题描述
我有一个介于 1 和 10 之间的双数向量。
a<-c(3.5, 1.2, 1, 5, 8, 6.9, 5.3, 1.2)
我必须有一个 10 个类(1 到 10)的数据框,每个类的计数,如果没有出现,它必须呈现为 1。
所以预期的结果是这样的:
> df
a b
1 1 3
2 2 1
3 3 1
4 4 1
5 5 2
6 6 1
7 7 1
8 8 1
9 9 1
10 10 1
解决方案
使用基数 R 的一种方法,转换a
为整数,然后factor
使用级别 1-10,使用table
和使用pmax
将 0 计数替换为 1 来计算它们的出现次数。
stack(pmax(table(factor(as.integer(a), levels = 1:10)), 1))[2:1]
# ind values
#1 1 3
#2 2 1
#3 3 1
#4 4 1
#5 5 2
#6 6 1
#7 7 1
#8 8 1
#9 9 1
#10 10 1
推荐阅读
- python - How to detect records that appear on a larger interval than the specified one?
- selenium-webdriver - 如何在 webdriverio 中使用重新运行服务?
- c# - 如何比较两个列表的相同值
- python - 在熊猫中爆炸具有相同嵌套键的行
- json - 角度:无法读取未定义的属性“x”
- typescript - 如果 keyof 则推断函数签名
- javascript - 如何修复拖放测验?
- mqtt - 如何在没有应用名称的情况下将直接命令从 Google Home 发送到自定义智能设备?
- python - 从 SQL Server 导入的字符串解析 XML
- r - 无法启动 h2o