R:通过数据范围计算百分比-创建仓位

R:通过数据范围计算百分比-创建仓位,r,function,bin,seq,R,Function,Bin,Seq,我对R中的编码是完全陌生的——事实上,一般情况下都是编码,所以请原谅我的无知 我有一个数据文件,其中包含不同长度特征的“开始”和“结束”位置值。我想输出一个文件,为每个特征(数据行)创建一个容器,该容器按特征长度的百分比(1-100%)排列 我认为这基本上回答了这个问题,但我仍然有一些问题: 有没有关于如何解决这个问题的建议 更新: 作为上述数据集第一行的示例: START=7529,END=9484,bin=10(简化),range=1955,jump=195.5 预期的产出将是:

我对R中的编码是完全陌生的——事实上,一般情况下都是编码,所以请原谅我的无知

我有一个数据文件,其中包含不同长度特征的“开始”和“结束”位置值。我想输出一个文件,为每个特征(数据行)创建一个容器,该容器按特征长度的百分比(1-100%)排列

我认为这基本上回答了这个问题,但我仍然有一些问题:

有没有关于如何解决这个问题的建议

更新:

作为上述数据集第一行的示例:
START=7529,END=9484,bin=10(简化),range=1955,jump=195.5

预期的产出将是:

      v1       v2
[1]  7529.0  7724.5
[2]  7724.5  7920.0
[3]  7920.0  8115.5
        ...
[9]  9093 9288.5
[10] 9288.5 9484

该错误意味着您向
seq
提供了一个向量作为第一个参数(也是第二个参数),而不是一个数字。尝试使用
bin_it(功能[1,2],功能[1,3],100)
它应该可以正常工作。现在要解决这个问题,可以做一个循环(坏)

或者(更好)使用apply族。在您的情况下,类似这样的事情应该可以做到:

output = apply(feature[,2:3], 1, function(x) bin_it(START = x[,1], END = x[,2], BINS = 100))

您想要的输出是什么?我刚刚发现一个更好的方法可能是
mapply(binu it,feature[,2],feature[,3],100)
太好了,非常感谢!这对我来说是有效的,因为它将函数应用于我的数据行。然而,我得到了一种不同类型的错误:
data.frame(v1,v2)中的错误:参数意味着不同的行数:99101
现在我只需要找到定义v1和v2时缺少的内容。
bin_it <- function(START, END, BINS) {
      range <- START-END
      jump <- range/BINS
      v1 <- c(START, seq(START+jump, END, jump))
      v2 <- seq(START+jump, END, jump)
      data.frame(v1, v2)
    }

bin_it(feature[,2], feature[,3], 100)
Error in seq.default(START + jump + 1, END, jump) : 
'from' must be of length 1
      v1       v2
[1]  7529.0  7724.5
[2]  7724.5  7920.0
[3]  7920.0  8115.5
        ...
[9]  9093 9288.5
[10] 9288.5 9484
output = c()
for(l in 1:dim(feature)[1]){
  output = c(output, bin_it(feature[l,2], feature[l,3], 100))
}
output = apply(feature[,2:3], 1, function(x) bin_it(START = x[,1], END = x[,2], BINS = 100))