r - 对 tibble 的随机行进行子样本
问题描述
假设我有两个数据对象,df.A 和 df.B。
df.A <- structure(list(Species = structure(c(7L, 7L, 1L, 1L, 1L, 1L,
4L, 6L, 5L, 5L), .Label = c("Carcharhinus leucas", "Carcharhinus limbatus",
"Carcharhinus perezi", "Galeocerdo cuvier", "Ginglymostoma cirratum",
"Hypanus americanus", "Negaprion brevirostris", "Sphyrna mokarran"
), class = "factor"), Sex = structure(c(1L, 1L, 1L, 2L, 1L, 1L,
1L, 1L, 1L, 2L), .Label = c("f", "m"), class = "factor")), row.names = c(NA,
10L), class = "data.frame")
> class(df.A)
[1] "data.frame"
df.B <- structure(list(Diel.phase = structure(c(2L, 2L, 1L, 2L, 1L, 2L,
2L, 1L, 1L, 1L), .Label = c("Day", "Night"), class = "factor"),
Season = structure(c(2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L,
2L), .Label = c("Summer", "Winter"), class = "factor")), row.names = c(NA,
-10L), groups = structure(list(.rows = structure(list(1L, 2L,
3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L), ptype = integer(0), class = c("vctrs_list_of",
"vctrs_vctr", "list"))), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame")), class = c("rowwise_df", "tbl_df", "tbl",
"data.frame"))
> class(df.B)
[1] "rowwise_df" "tbl_df" "tbl" "data.frame"
假设我想从每个对象中抽取 2 行。下面的代码适用于 df.A,但不适用于 df.B。而是返回 df.B 的所有行。
df.B %>% slice_sample(n=2)
有人可以解释这个结果吗?以及如何将 sample_slice 应用于类(df.B)的对象而不首先返回到 data.frame 对象?
解决方案
分组影响小标题的处理方式。
你可以这样做:
df.B %>% ungroup() %>% slice_sample(n=2)
推荐阅读
- artifactory - 从 json 创建多个工件存储库
- java - 在 Spring MVC 中,使用 HQL JOIN 我多次获得相同的数据
- javascript - 如何从 asp.net 中的动态下拉列表中打开引导模型
- python - 使用 Anytree 和 graphviz 在 python 中渲染树。无法打开文件
- php - CodeIgniter:代理检查和阻止
- c# - C#中对象实例化左侧的抽象类
- r - Google Analytics - 同一交易 ID 的不同来源和媒介
- sql - 用于矩阵报表的动态 Pivot Sql
- arrays - 如何在 ReactJS(create-react-app)中显示来自 JSON 的 png?
- c# - 如何在 Enumerable.Zip 扩展方法 c# 中删除重复项?