【问题标题】:Getting information from raw data从原始数据中获取信息
【发布时间】:2019-12-12 12:26:20
【问题描述】:

我正在使用一个处理食道癌的数据框。 我需要找到一列的总和,ncases,但仅在基于 alchgp 列的特定条件下,仅当 alchgp 显示“120+”时才添加 ncases

我正在使用 head(esoph, 88) 来访问数据

【问题讨论】:

  • sum(data$ncases[data$alchgp == "120+"])
  • sum(esoph$ncases[ esoph$alchgp == "120+" ])。如果我是正确的,我建议您阅读有关 R 索引和提取的内容,地址为 rdocumentation.org/packages/base/versions/3.6.1/topics/Extract。如果有误,请编辑您的问题并提供更多详细信息。
  • 您应该学习适用的计算机科学术语来进行有用的搜索。 “数据科学”过于笼统,无法有效过滤问题和答案。它可能应该被刻录为标签。

标签: r indexing conditional-operator


【解决方案1】:

我创建了一个示例数据集,并提出了一种可能适用于更复杂情况的方法。 cmets 中建议的索引方法也有效。

library(tidyverse)
df <- tribble(~alchgp, ~ncases, 
              '120+', 30,
              '100', 40,
              '80', 10,
              '120+', 35)



f <- function(alchgp, ncases) {
  sum(ncases[alchgp == "120+"])
}

df %>% 
  summarise(sum_gt120 = f(alchgp, ncases)) %>% 
  pull

#65

sum(df$ncases[df$alchgp == "120+" ])

#65

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 2018-10-13
    • 2014-08-01
    • 1970-01-01
    • 2016-09-03
    • 2012-10-31
    相关资源
    最近更新 更多