R计数值为“的变量数”;mq";每行

R计数值为“的变量数”;mq";每行,r,R,我有一个包含70个变量的数据帧,我想创建一个新变量,它统计70个变量每行取“mq”值的出现次数 我在找这样的东西: [ID] [Var1] [Var2] [Count_mq] 1. mq mq 2 2. 1 mq 1 3. 1 7 0 我找到了这个解决方案: 计数行如果(“mq”,DT) 但是它给了我一个向量,其中包含了整个数据帧的值,计算起来相当慢 我想使用函数apply()找到一个解决方案,但我不知道如何实现这一点 最

我有一个包含70个变量的数据帧,我想创建一个新变量,它统计70个变量每行取“mq”值的出现次数

我在找这样的东西:

[ID] [Var1] [Var2] [Count_mq]
1.    mq    mq      2
2.    1     mq      1
3.    1      7      0
我找到了这个解决方案:

计数行如果(“mq”,DT)

但是它给了我一个向量,其中包含了整个数据帧的值,计算起来相当慢

我想使用函数apply()找到一个解决方案,但我不知道如何实现这一点


最好的

您可以使用'apply'函数计算现有数据帧'df'中的特定值

df$count.MQ <- apply(df, 1, function(x) length(which(x=="mq")))

df$count.MQ您可以使用'apply'函数对现有数据帧'df'中的特定值进行计数

df$count.MQ <- apply(df, 1, function(x) length(which(x=="mq")))

df$count.MQ我假设数据集的名称是DT。我有点困惑你到底想要什么,但这就是我的理解。数据帧由70列和若干行组成,其中一些行具有“mq”观测值。
如果我没弄错,请看下面的代码

apply(DT, function(x) length(filter(DT,value=='mq')), MARGIN=1)

我假设数据集的名称是DT。我有点困惑你到底想要什么,但这就是我的理解。数据帧由70列和若干行组成,其中一些行具有“mq”观测值。 如果我没弄错,请看下面的代码

apply(DT, function(x) length(filter(DT,value=='mq')), MARGIN=1)
尝试
rowSums(DT==“mq”)
Try
rowSums(DT==“mq”)