Ответ 1
просто используйте ncol()
, чтобы получить индекс последнего col
data[,ncol(data)]
Я пытаюсь сделать некоторые манипуляции в последнем столбце общим способом.
Я нашел здесь на форумах эту приятную часть кода, которая возвращает имя последних столбцов:
tail(names(train),1) #returns [1] "last"
Я до сих пор не могу понять, как ссылаться непосредственно на мои предыдущие столбцы набора данных:
data$last
просто используйте ncol()
, чтобы получить индекс последнего col
data[,ncol(data)]
Возьмите первый элемент вектора rev
имен столбцов:
rev(names(mtcars))[1]
[1] "carb"
Аналогично, чтобы получить последний столбец, вы можете использовать
rev(mtcars)[1]
Чтобы обратиться к последнему столбцу:
colnames(data)[ncol(data)]
Я предпочитаю решение @Troy, вот еще один способ:
train[, tail(colnames(train), 1)]
Вы можете использовать tail
, но вы должны принудить его к списку:
tail(as.list(mtcars), 1)
Это вернет вектор с содержимым столбца. Если вы хотите сохранить структуру, вы можете использовать:
utils:::tail.default(mtcars, 1)
так что tail
рассматривает вход как список. Единственная причина, по которой действительно нужно использовать этот подход над Трое, - это если вы хотите больше, чем просто последний столбец (т.е. Последний N), где это становится намного проще сделать таким образом.