首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何编写此R计数查询?

如何编写此R计数查询?
EN

Stack Overflow用户
提问于 2018-12-19 00:08:37
回答 2查看 56关注 0票数 0

对于下面的数据集,我想要在给定列下的高,高于正常,正常的计数

我想要这样的输出

EN

回答 2

Stack Overflow用户

发布于 2018-12-19 22:59:38

试试这个:

首先创建一个与您的数据集相似的虚拟数据集:

library(dplyr)
dat <- tibble::tribble(
          ~AL.01,         ~AL.02,         ~AL.03,
  "Above Normal", "Above Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",         "High",
        "Normal",       "Normal",         "High",
        "Normal",       "Normal", "Above Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
  "Above Normal",         "High", "Above Normal",
  "Above Normal",       "Normal", "Above Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "Normal",       "Normal",       "Normal",
        "High",       "Normal",       "Normal"
  )

现在执行以下计数和重命名操作:

AL.01 <- dat %>% 
  count(AL.01) %>% 
  rename(metric = AL.01, AL.01 = n)
AL.02 <- dat %>% 
  count(AL.02) %>% 
  rename(metric = AL.02, AL.02 = n)
AL.03 <- dat %>% 
  count(AL.03) %>% 
  rename(metric = AL.03, AL.03 = n)

final <- full_join(AL.01, AL.02) %>% full_join(AL.03)


final

data.frame final应如下所示:

# A tibble: 3 x 4
  metric       AL.01 AL.02 AL.03
  <chr>        <int> <int> <int>
1 Above Normal     3     1     3
2 High             1     1     2
3 Normal          19    21    18
票数 1
EN

Stack Overflow用户

发布于 2018-12-19 23:01:22

使用base R,您可以执行以下代码:

#mock up data
my_df <- data.frame(AL_01 = c("Above No", "Normal", "Normal", "High", "Above No", "Normal", "Normal", "High"),
                    AL_02 = c("Above No", "Normal", "Normal", "Normal", "Above No", "Normal", "Normal", "High"),
                    AL_03 =  c("Normal", "Normal", "Normal", "High","Above No", "Normal", "Normal", "High" ))

apply(my_df, 2, table)

让步:

         AL_01 AL_02 AL_03
Above No     2     2     1
High         2     1     2
Normal       4     5     5

table命令计算向量中不同条目的数量。这是在apply函数中调用的。这样,将为每一列执行table命令(因为第二个参数== 2)并返回该命令。在命令提示符下键入?table?apply以获取更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53853448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档