當列是因子時,您如何計算按行顯示的次數「B」或「C」?我知道你如何使用rowSums()
如果數字,但我沒有看到如何計算因子水平。當「x」是一個因子時,按行計算「x」出現的次數
有:
df <- data.frame(v1=factor(c("A", "A", "A", "B")),
v2=factor(c("A", "B", "B", "B")),
v3=factor(c("C", "A", "B", "B")))
旺旺:
# 1 1 2 3
更新
rowSums()
失敗對我的實際使用情況,因爲我的數據幀有日期列。這是一個更好的玩具例子:
df2 <- data.frame(v1=factor(c("A", "A", "A", "B")),
v2=factor(c("A", "B", "B", "B")),
v3=factor(c("C", "A", "B", "B")),
v4=as.Date("1998-12-17"))
的簡化版本可能是'rowSums(DF ==「C」 | df ==「B」)'。一個醜陋的,但更一般的可以是'''colSums(應用(df,1,'%in%',LETTERS [2:3]))''' –
請閱讀'?rowSums'關於參數'x':包含數字,複數,整數**或邏輯值**的數組,包含數字,複數,整數**還推薦閱讀:'?TRUE':「在需要數字值的上下文中,邏輯向量被強制爲整數向量」 – Henrik
ok ,謝謝,我認爲我的實際使用案例抱怨你的方法@DavidArenburg,因爲我在數據框中有一些日期列 –