Как извлечь первые и последние 3 столбца фрейма данных в R - PullRequest
0 голосов
/ 13 мая 2019

У меня есть несколько фреймов данных, и я хотел бы извлечь из них первые 3 и последние 3 столбца отдельно. И имена столбцов, и количество столбцов у них разные. Кто-нибудь может дать мне совет, как я могу это сделать? Заранее спасибо ; )

df <- matrix(sample(1:10, 100, replace = TRUE), 10)
df <- as.data.frame(df)
#I know we can do something like this 
df[,c(1:3,5:6)]
#but I dont know how to select last 3 columns

Ответы [ 2 ]

4 голосов
/ 13 мая 2019

Мы можем использовать head и tail в именах столбцов

df[, c(head(names(df), 3), tail(names(df), 3))]
4 голосов
/ 13 мая 2019

Использование ncol()

df[,c(1:3, (ncol(df) - 2):ncol(df))]
#   V1 V2 V3 V8 V9 V10
#1   2  3  8  9 10   1
#2   7  7  7  9  3   6
#3   8  2 10  7  7   4
#4   1  1  3  5  8   5
#5   1  5  8  9  1   1
#6   7 10  5  8  7   1
#7   5  3  3  3 10   4
#8   8  9  1  3  5   6
#9   6  1  6  8  7   7
#10  7  2  9 10 10   9

Или length()

idx <- length(df)
df[,c(1:3, (idx - 2):idx)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...