Я анализирую данные, в которых хочу подсчитать количество вхождений, в которых строка содержит определенную комбинацию полей в диапазоне, заданном другим полем.Я относительно новичок в R и не смог понять скользящие окна, которые, кажется, вот как.
То, что я хочу в не-коде:
-Количество вхождений "m4C "(столбец 1) на положительной нити (столбец 6) в первые 200 п.н. (столбец 2)
- введите вышеприведенное значение для следующих 200 п.н. или любого размера окна, который я хочу выбрать.
IЯ также буду модифицировать, чтобы посмотреть на другие типы модификаций и обе ветви, как только у меня будет основной фрагмент.
Я посмотрел на rollapply из зоопарка, но не знаю, как создать функцию дляэто сочетание условий.Я также видел это https://stats.stackexchange.com/questions/3051/mean-of-a-sliding-window-in-r
, но я не знаю достаточно, чтобы переместить его за пределы простой функции, используемой там.Я нашел способ сделать это в Excel, используя COUNTIFS
COUNTIFS($A:$A,"m4C",$F:$F,"+",$B:$B,">"&$S3,$B:$B,"<"&$T3)
, где вызовы столбцов S и T задают верхний и нижний диапазоны для окна, но я хотел бы использовать R дляНу, причины.
Пример данных:
type start end seqid score strand
m6A 2 2 NC_002932.3 44 -
modified_base 20 20 NC_002932.3 41 -
m6A 57 57 NC_002932.3 451 -
modified_base 69 69 NC_002932.3 55 +
m6A 80 80 NC_002932.3 540 +
modified_base 93 93 NC_002932.3 55 +
m4C 139 139 NC_002932.3 37 +
m6A 196 196 NC_002932.3 422 +
m4C 200 200 NC_002932.3 40 +
m6A 204 204 NC_002932.3 571 -
m6A 210 210 NC_002932.3 477 -
m6A 255 255 NC_002932.3 500 -
modified_base 264 264 NC_002932.3 32 +
Требуемый вывод из вышеперечисленного:
0-200 1
200-400 1
Реальные файлы имеют десятки тысячлиний.Заранее благодарю за любую помощь.У меня есть данные в виде файлов, разделенных табуляцией, которые я с удовольствием прочитал бы в любой форме, чтобы получить то, что хотел, но играл с data.frame, потому что это то, что я знаю до сих пор.