r - 如何计算数据帧行中某些字符串的频率?
问题描述
我是一个 R 初学者,我有一个巨大的数据框,所以这里是数据框的一个小复制品。
我想计算每个数据框行的“U”和“A”的百分比。
不是每个字母都出现在每一行中,所以简单的 prop.table 函数并没有给我想要的输出。当每行中没有提供所有 4 个字母时,我遇到了问题。
####Here is my sample dataset:
a <- c("A","B","H","U","U","U")
b <- c("A","H","H","U","U","U")
c <- c("B","B","H","U","U","U")
d <- c("H","H","H","U","U","U")
e <- c("U","U","U","U","U","U")
data<-data.frame(a,b,c,d,e)
我希望每一行都有一个“A”和“U”的百分比。如果这些字母之一没有出现在该行中,则结果可能是 NA。
解决方案
我们可以用rowMeans
rowMeans(data == "A" | data == "U", na.rm = TRUE)
#[1] 0.5 0.0 0.0 1.0 1.0 1.0
推荐阅读
- wpf - 对话框中的空标签内容(WPF)
- javascript - 使用高级函数创建新的对象数组
- javascript - querySelector() 只找到两个项目然后失败
- python - 在特定索引处将元素从一个矩阵插入另一个矩阵
- discord.py - on_member_join 即使有意图也无法正常工作
- javascript - 以零数字开头的参数未正确传递给 JavaScript
- python - 对于 jupyter notebook 离线绘图,不推荐使用 plotly.grid_objs 模块
- javascript - Nodejs sequelize 使用嵌套包含创建
- python - 有没有办法在一个地方为类和类参数设置通用石墨烯字段,而不是在两个地方都定义它?
- python - 从 ThreadPool 转换为 ProcessExecutorPool