将R中矩阵中出现次数最少的字符串转换为出现次数更高的字符串

卢克354

我在每列中都有以下具有不同字符串的矩阵。一列中不同字符串的最小数量为2,有些列最多包含20个不同的字符串,有些列只有两个不同的字符串。我想将<=2每一列中以频率1或2(出现的字符串转换为频率更高(>2的字符串因此,在一个因素仅发生一次或两次的色谱柱中,应将其转换为同一色谱柱中频率更高的因素。如果下一个较高的频率(>2)出现两次,则只需取其中一个,哪一个都不重要。保留所有其他列不变。在每一列中,总有一个频率因子大于2。

我的示例矩阵是:

n.mat <- structure(c("M", "M", "M", "M", "M", "M", "Y", "Y", "M", "M", 
"Y", "Y", "F", "F", "F", "F", "M", "M", "X", "Y", "Y", "F", "F", 
"F", "A", "A", "A", "A", "A", "A", "A", "B", "A", "A", "A", "A", 
"A", "B", "B", "B", "C", "D", "D", "D", "E", "E", "E", "G"), .Dim = c(8L, 
6L), .Dimnames = list(c("r1", "r2", "r3", "r4", "r5", "r6", "r7", 
"r8"), NULL))

  [,1] [,2] [,3] [,4] [,5] [,6]
r1 "M"  "M"  "M"  "A"  "A"  "C" 
r2 "M"  "M"  "M"  "A"  "A"  "D" 
r3 "M"  "Y"  "X"  "A"  "A"  "D" 
r4 "M"  "Y"  "Y"  "A"  "A"  "D" 
r5 "M"  "F"  "Y"  "A"  "A"  "E" 
r6 "M"  "F"  "F"  "A"  "B"  "E" 
r7 "Y"  "F"  "F"  "A"  "B"  "E" 
r8 "Y"  "F"  "F"  "B"  "B"  "G" 

所需的输出:

n.mat <- structure(c("M", "M", "M", "M", "M", "M", "M", "M", "F", "F", 
"F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", 
"F", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "B", "B", "B", "D", "D", "D", "D", "E", "E", "E", "D"), .Dim = c(8L, 
6L), .Dimnames = list(c("r1", "r2", "r3", "r4", "r5", "r6", "r7", 
"r8"), NULL))

   [,1] [,2] [,3] [,4] [,5] [,6]
r1 "M"  "F"  "F"  "A"  "A"  "D" 
r2 "M"  "F"  "F"  "A"  "A"  "D" 
r3 "M"  "F"  "F"  "A"  "A"  "D" 
r4 "M"  "F"  "F"  "A"  "A"  "D" 
r5 "M"  "F"  "F"  "A"  "A"  "E" 
r6 "M"  "F"  "F"  "A"  "B"  "E" 
r7 "M"  "F"  "F"  "A"  "B"  "E" 
r8 "M"  "F"  "F"  "A"  "B"  "D" 

我可以通过此代码计算每一列中每个因子的频率,但是仍然缺少将字符串转换为频率更高的字符串的部分:

n.mat<-n.mat[, apply(n.mat, 2, function(x) sort(table(x), decreasing = TRUE)]
杰伊

尝试这个。

apply(n.mat, 2, function(x) {
  tx <- sort(table(x), decreasing=TRUE)
  x[x %in% names(tx[tx <=2])] <- names(rev(tx[names(tx[tx > 2])])[1])
  x
})
#   [,1] [,2] [,3] [,4] [,5] [,6]
# r1 "M"  "F"  "F"  "A"  "A"  "E" 
# r2 "M"  "F"  "F"  "A"  "A"  "D" 
# r3 "M"  "F"  "F"  "A"  "A"  "D" 
# r4 "M"  "F"  "F"  "A"  "A"  "D" 
# r5 "M"  "F"  "F"  "A"  "A"  "E" 
# r6 "M"  "F"  "F"  "A"  "B"  "E" 
# r7 "M"  "F"  "F"  "A"  "B"  "E" 
# r8 "M"  "F"  "F"  "A"  "B"  "E" 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串在 R 中的多个列中出现的次数制表

来自分类Dev

如何以最少的字符串去除次数将字符串转换为回文?

来自分类Dev

将字符串与出现次数连接

来自分类Dev

计算字符串中字符串出现的次数

来自分类Dev

PostgreSQL计算子字符串在文本中出现的次数

来自分类Dev

查询以返回特定值在字符串中出现的次数?

来自分类Dev

查找元素的索引字符串中出现的次数

来自分类Dev

数数 字符串中出现char的次数

来自分类Dev

计算某些字符串在 Python 中出现的次数

来自分类Dev

Excel公式返回字符串在列中出现的次数

来自分类Dev

给定字符串中出现次数最多的词

来自分类Dev

将字符串转换为具有出现次数的对象

来自分类Dev

字符串和子字符串以及子字符串在主字符串中出现的次数

来自分类Dev

如何使用Java中的map集合按字符串中出现的次数对字符进行排序?

来自分类Dev

Rspec:如何测试子字符串在字符串中出现一定次数?

来自分类Dev

如何计算字符串中字符出现的次数?

来自分类Dev

如何计算字符串中字符的出现次数

来自分类Dev

Tableau中子字符串的出现次数

来自分类Dev

计算字符串中子字符串的出现次数

来自分类Dev

计算字符串中子字符串的出现次数

来自分类Dev

如何在Python sort()中编写用于计算字符串中出现次数的lambda函数

来自分类Dev

计算熊猫中字符串中单词的出现次数

来自分类Dev

计算字符串中数字出现的次数

来自分类Dev

Python:计算字符串中列表项的出现次数

来自分类Dev

获取字符串中X的出现次数

来自分类Dev

计算csv文件列中字符串的出现次数

来自分类Dev

计算每个选定列中字符串出现的次数

来自分类Dev

Bash脚本计算文件中字符串出现的次数

来自分类Dev

获取字符串中X的出现次数

Related 相关文章

  1. 1

    将字符串在 R 中的多个列中出现的次数制表

  2. 2

    如何以最少的字符串去除次数将字符串转换为回文?

  3. 3

    将字符串与出现次数连接

  4. 4

    计算字符串中字符串出现的次数

  5. 5

    PostgreSQL计算子字符串在文本中出现的次数

  6. 6

    查询以返回特定值在字符串中出现的次数?

  7. 7

    查找元素的索引字符串中出现的次数

  8. 8

    数数 字符串中出现char的次数

  9. 9

    计算某些字符串在 Python 中出现的次数

  10. 10

    Excel公式返回字符串在列中出现的次数

  11. 11

    给定字符串中出现次数最多的词

  12. 12

    将字符串转换为具有出现次数的对象

  13. 13

    字符串和子字符串以及子字符串在主字符串中出现的次数

  14. 14

    如何使用Java中的map集合按字符串中出现的次数对字符进行排序?

  15. 15

    Rspec:如何测试子字符串在字符串中出现一定次数?

  16. 16

    如何计算字符串中字符出现的次数?

  17. 17

    如何计算字符串中字符的出现次数

  18. 18

    Tableau中子字符串的出现次数

  19. 19

    计算字符串中子字符串的出现次数

  20. 20

    计算字符串中子字符串的出现次数

  21. 21

    如何在Python sort()中编写用于计算字符串中出现次数的lambda函数

  22. 22

    计算熊猫中字符串中单词的出现次数

  23. 23

    计算字符串中数字出现的次数

  24. 24

    Python:计算字符串中列表项的出现次数

  25. 25

    获取字符串中X的出现次数

  26. 26

    计算csv文件列中字符串的出现次数

  27. 27

    计算每个选定列中字符串出现的次数

  28. 28

    Bash脚本计算文件中字符串出现的次数

  29. 29

    获取字符串中X的出现次数

热门标签

归档