当前位置: 首页 > 知识库问答 >
问题:

从基使用table()函数和dplyr管道语法?

程城
2023-03-14

下面是一些示例数据,它的输出是我想要得到的。

df <- tibble(id=c(rep("A",100),rep("B",100),rep("C",100)),
               val=c(rnorm(300,mean=500,sd=100))) %>%
  mutate(val_bin=cut(val,breaks=5))

table(df$id,df$val_bin)

输出:

    (210,325] (325,440] (440,554] (554,669] (669,784]
  A         4        22        55        18         1
  B         6        19        46        24         5
  C         3        23        44        22         8

共有1个答案

龙承德
2023-03-14

我们可以选择感兴趣的列并应用

library(dplyr)
df %>% 
    select(id, val_bin) %>%
    table

或者另一个选项是在{}中包装

df %>%
    {table(.$id, .$val_bin)}

tidyverse中,获取所需的输出要复杂一些

library(dplyr)
library(tidyr)
df %>%
   count(id, val_bin) %>%
   pivot_wider(names_from = val_bin, values_from = n, values_fill = list(n = 0)) %>%
   column_to_rownames('id')
#   (214,338] (338,461] (461,584] (584,707] (707,831]
#A         5        30        44        20         1
#B         9        30        34        27         0
#C         8        28        43        20         1
 类似资料:
  • 我如何只使用dplyr函数(想象一下有6M行的巨大的Data.Table(BIGiris))来实现与下面的代码相同的功能呢 输出是这个。请注意,我必须重新命名列1。另外,在dplyr mutate或其他调用中,我希望以某种方式为我的新count列指定名称。 想象一下连接到这样一个表(假设iris data.frame有6M行),species更像是“species_id” 最终联接和输出(对于联接

  • 传递参数 链接管道 我们可以将多个管道连接在一起,以便在一个表达式中使用多个管道。

  • 我有以下数据集“df1”: 我使用“group_by”和“总结”根据“类”列的最小值对codfam进行分组 它工作正常,并返回如下结果: 现在,我将获得与函数“summarize”保留在数据集中的每个codfam相关的列“sex”的值,如下所示: 我试着用 但不幸的是,它不起作用。 任何帮助或建议将不胜感激,提前感谢!

  • 即。在货币管道上完成一些额外的格式化。为此,我想在自定义管道的组件代码中使用现有管道。

  • 我想在另一个函数中使用函数,但我不知道如何将参数传递给这个函数。 有人能提供一个可行的例子吗?

  • 我正在使用ARM模板为我的Azure资源创建CI/CD管道。在我的Arm模板中,我使用zipdeploy来部署我的azure函数的代码。 基本上,我需要指定包Uri,它需要通过互联网访问。 在我的 Azure 管道中,我正在创建函数的 zip 包,并使用 dotnet 发布发布到 Azure 管道项目,然后我获取 URL:https://dev.azure.com/ifolor/_apis/res