r-如何在先前拆分的数据帧(基于分类变量拆分)中基于连续变量应用切割函数

r-如何在先前拆分的数据帧(基于分类变量拆分)中基于连续变量应用切割函数,r,split,cut,R,Split,Cut,我有一个数据帧(df),它有一个分类变量(CHR,22个级别)和一个连续变量(POS,代表染色体位置,在CHR级别之间变化)。我想根据POS的范围生成一个额外的分类变量,该变量必须根据每个CHR级别的POS值生成,并且范围大小相等,例如,让我们支持这是df: CHR POS 1 2 1 4 1 6 . . . . 1 30 . . . . . . 22 150 22 162 22 170 22 185 因此,我尝试使用以下方法首先拆分df: >

我有一个数据帧(df),它有一个分类变量(CHR,22个级别)和一个连续变量(POS,代表染色体位置,在CHR级别之间变化)。我想根据POS的范围生成一个额外的分类变量,该变量必须根据每个CHR级别的POS值生成,并且范围大小相等,例如,让我们支持这是df:

CHR POS
1   2
1   4
1   6
.   .
.   .
1   30
.   .
.   .
.   .
22  150
22  162
22  170
22  185
因此,我尝试使用以下方法首先拆分df:

> df_split <- split(df, f=df$CHR)

# then I generate a function, involving "cut" function

> bins <- function(df){
  lower <- min(df$POS)
  upper <- max(df$POS)
  cut(df$POS, seq(lower,upper, 10))
}

# finally i used lapply, incorporating my personalizad "cut" function

> bin_1 <- lapply(df_split, bins)

>df_split bins当你说“切割功能不工作”时,你的确切意思是什么。你有错误吗?包括一个适当的样本输入和该样本输入所需的输出。我希望得到一个向量列表,每个CHR级别有一个间隔,但我目前得到的是一个类似间隔的列表。所需输出应为CHR变量中每个级别的范围或间隔列表,大小相同,但考虑POS变量中的最大值和最小值(按CHR级别嵌套)。CHR POS New_var1 1 1-3 1-3 1-3 1-3 1 4--6 1 5 4-6 1 7-9 1 8-9 2 11-13 2 12 11-13 2 14-16 2 15 14-16 2 16 14-16 2 17-19 2 18-19您的代码对我来说通常很好。当我运行上面的代码时,我得到的几乎完全是您所期望的。是的,部分是好的,问题是上面的代码没有生成我所需要的正确间隔,我不知道为什么我给了“剪切”序列函数未被检测到。@AngelCriolloRayo-您能更具体地说明什么不起作用以及您期望的是什么吗?您只需要指定
cut(…,include.lowest=TRUE)
还是什么?