Есть ли способ получить индекс (2) из метки столбца ('B')?
Ответ 1
вы можете получить индекс через grep и colnames:
grep("B", colnames(df))
[1] 2
или используйте
grep("^B$", colnames(df))
[1] 2
чтобы получить столбцы, называемые "B", без тех, кто содержит B, например. "ABC".
Ответ 2
Это сделает следующее:
which(colnames(df)=="B")
Ответ 3
Мне хотелось увидеть все индексы для colnames, потому что мне нужно было выполнить сложную перестановку столбцов , поэтому я напечатал имена кодов в качестве фрейма данных. Имена ростов - это индексы.
as.data.frame(colnames(df))
1 A
2 B
3 C
Ответ 4
Исходя из вышеприведенного химерного ответа:
Чтобы получить ВСЕ индексы столбцов в df, поэтому я использовал:
which(!names(df)%in%c())
или хранить в списке:
indexLst<-which(!names(df)%in%c())
Ответ 5
Кажется, это эффективный способ перечислить vars с номером столбца:
cbind(names(df))
Вывод:
[,1]
[1,] "A"
[2,] "B"
[3,] "C"
Иногда мне нравится копировать переменные с позицией в мой код, поэтому я использую эту функцию: