Обратитесь к последнему столбцу в R

Я пытаюсь сделать некоторые манипуляции в последнем столбце общим способом.

Я нашел здесь на форумах эту приятную часть кода, которая возвращает имя последних столбцов:

tail(names(train),1) #returns [1] "last"

Я до сих пор не могу понять, как ссылаться непосредственно на мои предыдущие столбцы набора данных:

data$last

Ответ 1

просто используйте ncol(), чтобы получить индекс последнего col

data[,ncol(data)]

Ответ 2

Возьмите первый элемент вектора rev имен столбцов:

rev(names(mtcars))[1]
[1] "carb"

Аналогично, чтобы получить последний столбец, вы можете использовать

rev(mtcars)[1]

Ответ 3

Чтобы обратиться к последнему столбцу:

colnames(data)[ncol(data)]

Ответ 4

Я предпочитаю решение @Troy, вот еще один способ:

train[, tail(colnames(train), 1)]

Ответ 5

Вы можете использовать tail, но вы должны принудить его к списку:

tail(as.list(mtcars), 1)

Это вернет вектор с содержимым столбца. Если вы хотите сохранить структуру, вы можете использовать:

utils:::tail.default(mtcars, 1)

так что tail рассматривает вход как список. Единственная причина, по которой действительно нужно использовать этот подход над Трое, - это если вы хотите больше, чем просто последний столбец (т.е. Последний N), где это становится намного проще сделать таким образом.