如果我有这些数据(dat1)
` L1 L2 L3 L4 L5 L6
1 0 1 0 4 0
4 1 0 1 1 0
1 0 0 1 4 1
矩阵中的所有值都是0,1,4 我需要将每行忽略4号。 像这样的结果
2
3
3
我有超过900行.. 我尝试了这些,但有些东西丢失了
rowSums(subset(dat1,L1!=4)
rowSums(which[dat1!=4])
n4=dat1[dat1==4]<-0
答案 0 :(得分:0)
你可以这样做:
dat1[dat1==4] <- 0
rowSums(dat1)
如果不能接受修改对象,只需先复制它:
dat1Zero <- dat1
dat1[dat1Zero==4] <- 0
rowSums(dat1Zero)
答案 1 :(得分:0)
如果所有值都在(0,1,4)中,那么你只想计算1&#39; s,没有?
apply(df,1,function(x)sum(x==1))
# [1] 2 3 3