我正在使用R编程语言。
我有以下数据集:
set.seed(123)
library(dplyr)
var1 = rnorm(10000, 100,100)
var2 = rnorm(10000, 100,100)
var3 = rnorm(10000, 100,100)
var4 = rnorm(10000, 100,100)
var5 <- factor(sample(c("Yes", "No"), 1000, replace=TRUE, prob=c(0.4, 0.6)))
var6 <- factor(sample(c("Yes", "No"), 1000, replace=TRUE, prob=c(0.4, 0.6)))
my_data = data.frame( var1, var2, var3, var4, var5, var6)
我正在尝试运行以下代码:
my_data %>%
group_by(var5) %>%
mutate(col1 = ntile(var1, 5))
- 此代码适用于此示例数据集,但适用于我的真实数据集-我总是得到以下错误:**
Error: Column 'col1' must be length xyz (the group size) or one, not abc
我可以使用什么样的策略来避免这种错误?
谢谢!
1条答案
按热度按时间rdrgkggo1#
我建议使用purrr::安全地构造一个在遇到错误时不会停止/退出的ntile版本,使其输出一些独特的内容(-Inf)尝试并确定错误发生的位置和原因。
假设您有许多组,而不是像示例中那样只有2个组,因此很难确定问题,那么建议的方法至少可以让您找到感兴趣的组。