Команда для вычитания значений в табличном формате - PullRequest
0 голосов
/ 06 октября 2019

У меня есть данные в табличном формате, которые выглядят примерно так:

scaffold1   1   699399  699471  Thr AGT 0   0   66.4    
scaffold1   2   1774929 1775002 Arg TCG 0   0   67.2    
scaffold1   3   2223208 2223137 Asp GTC 0   0   62.2    
scaffold1   4   1734741 1734668 Val AAC 0   0   76.1    
scaffold2   1   2603063 2603134 Ser CGA 0   0   42.8    
scaffold2   2   2843556 2843627 Glu TTC 0   0   70.9    
scaffold2   3   3637736 3637807 Pro TGG 0   0   66.4    
scaffold2   4   3077035 3076964 His GTG 0   0   58.8    
scaffold2   5   2661282 2661211 Cys GCA 0   0   75.3    
scaffold3   1   750766  750838  Arg TCG 0   0   71.2    
scaffold3   2   1657990 1658061 Val AAC 0   0   53.9    
scaffold3   3   2078133 2077999 Thr GGT 2078095 2078034 33.5    
scaffold4   1   1400567 1400637 Gly GCC 0   0   78.5    
scaffold4   2   2410650 2410578 Phe GAA 0   0   80.1    
scaffold4   3   2406347 2406276 Thr CGT 0   0   79.6    
scaffold4   4   1301198 1301126 Lys CTT 0   0   80.2
...

Я хочу вычесть число в столбце 3 из числа в столбце 4, что на один уровень выше, чем в столбце3. Может быть, пример прояснит ситуацию:

1774929-699471=
2223208-1775002=
1734741-2223137=
...

Итак, первое число - «1774929». То, как выглядит результат, не так важно для меня, но я также не совсем понимаю, какие есть возможности. Так что я думаю, что только решение вычитаний, стоящих один под другим, является хорошим результатом.

Есть ли какая-либо команда в R, которая сделает это возможным? Спасибо.

1 Ответ

0 голосов
/ 06 октября 2019

При условии, что библиотечный вызов и DT воспроизводятся в примечании в конце в конце:

DT[, V10 := V4 - lag(V3)]

Примечание

Lines <- "caffold1   1   699399  699471  Thr AGT 0   0   66.4    
scaffold1   2   1774929 1775002 Arg TCG 0   0   67.2    
scaffold1   3   2223208 2223137 Asp GTC 0   0   62.2    
scaffold1   4   1734741 1734668 Val AAC 0   0   76.1    
scaffold2   1   2603063 2603134 Ser CGA 0   0   42.8    
scaffold2   2   2843556 2843627 Glu TTC 0   0   70.9    
scaffold2   3   3637736 3637807 Pro TGG 0   0   66.4    
scaffold2   4   3077035 3076964 His GTG 0   0   58.8    
scaffold2   5   2661282 2661211 Cys GCA 0   0   75.3    
scaffold3   1   750766  750838  Arg TCG 0   0   71.2    
scaffold3   2   1657990 1658061 Val AAC 0   0   53.9    
scaffold3   3   2078133 2077999 Thr GGT 2078095 2078034 33.5    
scaffold4   1   1400567 1400637 Gly GCC 0   0   78.5    
scaffold4   2   2410650 2410578 Phe GAA 0   0   80.1    
scaffold4   3   2406347 2406276 Thr CGT 0   0   79.6    
scaffold4   4   1301198 1301126 Lys CTT 0   0   80.2"
library(data.table)
DT <- fread(Lines)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...