我有一个字符变量,其中包含描述项目特征的代码.看起来像这样:

[1] "151"     "510|130|130"     "311|110" "140"     "160|160"     "160|160|130"
[7] "160"     "160"     "160"      "151"     "151"     "160|110"    

我需要提取项目的主要特征,即占主导地位的代码.如果没有支配代码,我 Select 第一个.导致:

[1] "151"     "130"     "311"      "140"     "160"     "160"
[7] "160"     "160"     "160"      "151"     "151"     "160"    

对如何实现这一点有什么建议吗?

推荐答案

您可以使用strsplit来拆分向量,使用collapse::fmode来获得占主导地位的值(所谓的统计模式),如果存在平局,则使用第一个值(这是fmode的默认行为):

x <- c("151", "510|130|130", "311|110")
as.numeric(sapply(strsplit(x, "\\|"), collapse::fmode))
#[1] 151 130 311

可以找到制作mode函数的其他方法,这些方法不是直接在基R中实现的.

R相关问答推荐

R的GG平行坐标图中的排序变量

删除facet_wrap标签之间的水平线

错误:非常长的R行中出现意外符号

提取具有连续零值的行,如果它们前面有R中的有效值

移除仪表板Quarto中顶盖和车身之间的白色区域

以更少间隔的较小表中的聚合离散频率表

如何提取所有完美匹配的10个核苷酸在一个成对的匹配与生物字符串在R?>

LOF中的插图短文字幕

在使用bslb和bootstrap5时,有没有办法更改特定dt行的 colored颜色 ?

在不丢失空值的情况下取消列出嵌套列表

更新R中的数据表(使用data.table)

在多页PDF中以特定布局排列的绘图列表不起作用

在R中创建连续的期间

R如何将列名转换为更好的年和月格式

我是否可以使用多个变异项来构建顺序列(标记多个问题)

如何在R中的两列以上使用联合(&U)?

Ggplot2:添加更多特定 colored颜色 的线条

带有Bootswatch Cerulean主题的shiny 仪表板中的浏览&按钮可见性问题

将字符变量出现次数不相等的字符框整形为pivot_wider,而不删除重复名称或嵌套字符变量

R:水平旋转图