Я абсолютно новичок в кодировании в R - на самом деле кодирование в целом, так что извините за мое невежество.
У меня есть файл данных со значениями «начало» и «конец» для функций различной длины. Я хотел бы вывести файл, который создает ячейки для каждой функции (строки данных) в процентах от длины функции (1–100%).
Я думаю, что это по существу отвечает на вопрос, но у меня все еще есть проблемы: R : создать конкретный бин на основе диапазона данных
bin_it <- function(START, END, BINS) {
range <- END-START
jump <- range/BINS
v1 <- c(START, seq(START+jump+1, END, jump))
v2 <- seq(START+jump-1, END, jump)+1
data.frame(v1, v2)
}
Мои конкретные данные выглядят так:
feature <- data.frame(chrom, start, end, feature_name, value, strand)
chr2L 7529 9484 CG11023 1 +
chr2L 21952 24237 CR43609 1 +
chr2L 65999 66242 CR45339 1 +
Используя приведенный выше код, я пробовал:
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
Любые предложения о том, как это исправить?
Обновлять:
В качестве примера из первой строки набора данных выше: START = 7529, END = 9484, BINS = 10 (to simplify), 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