簡體   English   中英

R:如何計算一個值在多個列中出現的次數?

[英]R: How to count the number of occurrences of a value across multiple columns?

我正在嘗試計算每個變量在兩個單獨的列中出現的次數。 如同:

var1    var2    var3
a       b       a
c       c       a
b       a       b

我想知道每個變量在 var1 和 var2 列中出現的次數。 output 應該看起來像

var   count
a     3
b     2
c     1

我在 stackoverflow 上看到過類似的問題,但似乎沒有找到我正在尋找的問題。

我們可以將列子subset化, unlistvector並在base R中獲取table ,如果需要將其stack到兩列 data.frame

stack(table(unlist(df1[c("var1", "var2")])))[2:1]`

或使用包,使用pivot_longer重塑為“long”並獲取count

library(dplyr)
library(tidyr)
df1 %>%
    select(var1, var2) %>%
    pivot_longer(cols = everything(), names_to = NULL, values_to = 'var') %>%
    count(var, name = "count")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM