首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >quantile_split函数中的r-自动排除

quantile_split函数中的r-自动排除
EN

Stack Overflow用户
提问于 2020-05-27 07:55:51
回答 1查看 51关注 0票数 1

我有一个像这样的数据文件:

代码语言:javascript
复制
Var1 Var2 Var3
100  B    15
200  A    16
700  A    13
500  C    10

这只是预览数据,实际上它有10000+行。

我所做的工作如下:

代码语言:javascript
复制
data %>%
  group_by(Var2) %>%
  mutate(Tercile = fabricatr::split_quantile(Var3, 3)) %>%
  group_by(Var2, Tercile) %>%
  summarise(Var1 = mean(Var1))

这将导致以下错误消息:

代码语言:javascript
复制
  The `x` argument provided to quantile split must be non-null and length at least 2.

据我所知,这意味着对于Var2的某些值,Var3只有一个唯一值,不能完成tercile拆分。我的第一个问题是:,这个解释正确吗,?我对"length at least 2"这个部分感到困惑,因为我希望长度至少应该是3来执行一个tercile拆分,对吗?

如果解释是正确的,我的第二个问题是:如何自动排除这样的情况?我几乎没有足够的时间来查看大约300个Var2值并检查Var3值。我需要一个排除此类级别Var2的编码解决方案,这样前面提到的错误就不会出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 07:59:40

正如错误消息所述,split_quantile需要至少长度为2的向量,我们可以删除行数小于2的组,然后应用函数吗?

代码语言:javascript
复制
library(dplyr)

data %>%
  group_by(Var2) %>%
  filter(n() >= 2) %>%
  mutate(Tercile = fabricatr::split_quantile(Var3, 3)) %>%
  group_by(Var2, Tercile) %>%
  summarise(Var1 = mean(Var1))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62038079

复制
相关文章

相似问题

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