Аз съм абсолютно нов в кодирането в 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