【问题标题】:R count number of variables with value ="mq" per row [duplicate]R计数每行值为=“mq”的变量数[重复]
【发布时间】:2018-12-25 04:10:38
【问题描述】:

我有一个包含 70 个变量的数据框,我想创建一个新变量来计算 70 个变量在每行基础上取值“mq”的出现次数。

我正在寻找这样的东西:

[ID] [Var1] [Var2] [Count_mq]
1.    mq    mq      2
2.    1     mq      1
3.    1      7      0

我找到了这个解决方案:

count_row_if("mq",DT)

但它给了我一个包含整个数据帧的这些值的向量,而且计算起来很慢。

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

最好的。

【问题讨论】:

  • 试试rowSums(DT == "mq")

标签: r


【解决方案1】:

您可以使用“应用”功能计算现有数据框“df”中的特定值,

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

这里的第二个参数是 1,因为你想计算每一行。您可以从https://www.rdocumentation.org/packages/base/versions/3.5.1/topics/apply了解更多信息

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      相关资源
      最近更新 更多