我如何能够接受特定的值

时间:2014-04-01 16:10:50

标签: r sum add

如果我有这些数据(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

2 个答案:

答案 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