使用dplyr在特定组中按变量拆分

阿西普林科夫

如何使用拆分和复制数据框dplyr试想一下,我有一个包含分组变量(即group),样本ID(即sample)和值的数据框

library(tidyverse)

df <- tibble(group = c(rep(LETTERS[1:3], 3), "mix", "mix"),
       sample = paste0("sample", seq(1, 11)),
       value = rnorm(11, 20, sd = 30))

我需要通过混合组和该组中的样本将该数据帧分为两个其他数据帧第一组将是没有sample11行的所有数据帧,第二组是没有sample10行。像这样但更现代的方式。我相信有一个功能)

list(
  df1 = df %>% filter(sample != "sample10"),
  df2 = df %>% filter(sample != "sample11")
)

我需要对数十个目标样本进行处理,然后为每个df映射一个函数。

卡米尔

要对所有样本标签重复过滤,我将采用唯一的样本值,并沿其映射,然后过滤以排除每个样本值。

library(dplyr)

df_list <- unique(df$sample) %>%
  purrr::map(~filter(df, sample != .))
df_list[1]
#> [[1]]
#> # A tibble: 10 x 3
#>    group sample    value
#>    <chr> <chr>     <dbl>
#>  1 B     sample2   -7.49
#>  2 C     sample3   34.1 
#>  3 A     sample4   61.4 
#>  4 B     sample5   51.9 
#>  5 C     sample6   15.7 
#>  6 A     sample7  -20.6 
#>  7 B     sample8   39.8 
#>  8 C     sample9   47.6 
#>  9 mix   sample10  37.3 
#> 10 mix   sample11  14.4

更好的是,命名数据框以显示排除了哪个样本:

df_list_named <- unique(df$sample) %>%
  purrr::set_names(paste, "excluded", sep = "_") %>%
  purrr::map(~filter(df, sample != .))
df_list_named[1]
#> $sample1_excluded
#> # A tibble: 10 x 3
#>    group sample    value
#>    <chr> <chr>     <dbl>
#>  1 B     sample2   -7.49
#>  2 C     sample3   34.1 
#>  3 A     sample4   61.4 
#>  4 B     sample5   51.9 
#>  5 C     sample6   15.7 
#>  6 A     sample7  -20.6 
#>  7 B     sample8   39.8 
#>  8 C     sample9   47.6 
#>  9 mix   sample10  37.3 
#> 10 mix   sample11  14.4

从那里,调用另一个map或任何其他应用更多功能的对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按组排名变量(dplyr)

来自分类Dev

使用dplyr按组更改变量值

来自分类Dev

使用dplyr在R中按组计算统计检验

来自分类Dev

使用dplyr在R中按组计算统计检验

来自分类Dev

如何使用ave()按条件对组中的变量求和?

来自分类Dev

将帧作为函数传递时,无法按dplyr中的组汇总变量

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

使用dplyr按组获取累计计数

来自分类Dev

dplyr使用累积方法按组汇总

来自分类Dev

使用dplyr按组计算每个块?

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

如何使用dplyr按组进行子集

来自分类Dev

使用dplyr按组计算平均时差

来自分类Dev

使用 dplyr 按组创建子集

来自分类Dev

如何按组为关注变量中的特定值创建计数变量?

来自分类Dev

如何使用dplyr按组删除特定点之后的所有行?

来自分类Dev

按组拆分列

来自分类Dev

如何按组拆分data.table并按列中的出现次数使用子集?

来自分类Dev

使用dplyr拆分应用组合来缩放分组变量中的向量

来自分类Dev

ggplot2 在 R 中按组拆分

来自分类Dev

组和拆分列dplyr

来自分类Dev

如果达到变量限制,如何使用dplyr过滤组中的所有值?

来自分类Dev

如果达到变量限制,如何使用dplyr筛选组中的所有值?

来自分类Dev

当我尝试使用dplyr按组求和时,为什么dplyr忽略了我的组?

来自分类Dev

在R和dplyr中按组落后/领先

来自分类Dev

如何在dplyr中按组删除前n行

来自分类Dev

按组计算dplyr中具有先前值的字段

来自分类Dev

dplyr样式计数(如果按r中的组)

来自分类Dev

使用dplyr按组连接字符串