r - 如何计算数据框中以 R 中的序列开头的单元格百分比?

标签 r dataframe percentage

我的数据如下所示:

Row 1     Row 2     Row 3     Row 4     Row 5     Row 6     Row7
abc89     abc62     67        abc513    abc512    abc81     abc10
abc6      pop       abc11     abc4      giant     13        abc15
abc90     abc16     abc123    abc33     abc22     abc08     9
111       abc15     abc72     abc36     abc57     abc9      abc55

我想计算数据框中以“abc”开头的单元格的百分比。例如:这里总共有 28 个单元格。这可以通过 prod(dim(df)) 获得。所以我需要以“abc”开头的单元格数量,然后除以 prod(dim(df))。这里的答案是 0.785。这如何在 R 中完成?

最佳答案

我会使用:

> mean(grepl("^abc",unlist(dat)))
[1] 0.7857143

使用 mean 意味着您不必自己分别获取分子和分母。 greplgrep 的逻辑版本——每当 "^abc"(即字符串以 abc) 开头。 Recall伯努利向量的平均值是成功的百分比。

如果您想按行或按列执行此操作,您可以使用 apply,例如apply(dat,1,function(x)mean(grepl("^abc",x))) 获取逐行均值。

关于r - 如何计算数据框中以 R 中的序列开头的单元格百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31775978/

相关文章:

php - 如何计算数字的百分比?

r - 如何获取R中数据框中每个单元格中数字旁边出现的字符串百分比?

CSS:两列布局,每列颜色不同 - 需要流体高度

r - 将语言环境设置为系统默认 UTF-8

r - R 的 dplyr 切片中的奇怪行为

python - 删除数据框中的行数

python - Pandas 用值列表替换最小值 - 逐行

python - 重命名 pandas Dataframe 列及其下的数据

regex - 使用 gsub 从开始到第一次出现字符抓取

r - 如何计算 R 网络图中所有顶点的二次度?