当列是因子时,您如何计算按行显示的次数“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,因为我在数据框中有一些日期列 –