我有一个像这样的 DF:
row_id stn_1 stn_2 stn_3 stn_4 stn_5
1 1 0 1 0 1
2 0 1 0 0 0
3 1 0 0 0 0
4 1 0 1 0 0
5 0 0 0 1 0
Run Code Online (Sandbox Code Playgroud)
我想获得数据中出现的 stn 的百分比。基本上是除 row_id 之外每列中 1 的百分比。
预期输出:
stn percentage
stn_1 .60
stn_2 .20
stn_3 .40
stn_4 .20
stn_5 .20
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 dplyr 中做到这一点?
使用dplyrand tidyr,你可以做
dd %>%
summarize(across(-row_id, mean)) %>%
pivot_longer(names_to="stn", values_to="percentage", everything())
# stn percentage
# <chr> <dbl>
# 1 stn_1 0.6
# 2 stn_2 0.2
# 3 stn_3 0.4
# 4 stn_4 0.2
# 5 stn_5 0.2
Run Code Online (Sandbox Code Playgroud)
进行summarize计算并pivot_longer进行重塑。
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |