【问题标题】:Conditional Statements to Check Length in R在 R 中检查长度的条件语句
【发布时间】:2018-08-11 12:53:53
【问题描述】:

这可能很简单,但我才刚刚开始学习。 我想使用两个条件语句来查找给定数据集中的行长度。因此,例如,我有一个包含两个人和他们的性别的列表

P1 | P2 | Match | Same

M  | F  | FALSE | FALSE
M  | M  | TRUE  | TRUE
F  | M  | FALSE | FALSE
F  | F  | TRUE  | FALSE

我想计算Match = TRUESame = FALSE 的实例数 分别为男性和女性。我想我可能需要使用长度函数,但它似乎对我不起作用......

【问题讨论】:

  • with (df1, sum(Match & !Same))#[1] 1
  • 当你分别说“男性”和“女性”时,你会选择哪一栏,即 P1 或 P2?library(dplyr);df %>% group_by(P1) %>% summarise(Length = sum(Match & !Same))
  • 啊,谢谢您的评论!但我也想在性别之间计算它。例如,如果我只想要总和,如果 P1 = M
  • 在这种情况下,从“P1”中提取“M”,即with(subset(df1, P1 == 'M'),sum(Match & !Same)))

标签: r conditional match row-number


【解决方案1】:

我首先创建一个额外的变量 (Match & !Same),然后通过该额外变量创建一个性别的 table

df1$Combo <- with(df1, Match & !Same)
with(df1, table(P1, Combo))
# or maybe you want the following ...
with(df1, table(P1, P2, Combo))

【讨论】:

    【解决方案2】:

    我可以这样做:

    sum(dt$Match == TRUE & dt$Same == FALSE)
    

    我认为因为它不是数字,所以使用 sum 函数对我来说是一个“长度”函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 2012-12-13
      相关资源
      最近更新 更多