Home > other >  indexing column name in the dataframe in r
indexing column name in the dataframe in r

Time:05-07

> df
  A B C
1 1 2 3
2 4 5 6
3 7 8 9

This is an example from another stack over flow question. Actually, in my dataset, there are 301 columns.

I wonder How I can index the column name. For example, I want to extract A, B, and C as my 1st, 2nd, and 3rd columns in the df.

df[0,1]

I thought it would give me "A" because it is the first column's name. but the result was Not "A" but

numeric(0)

How can I index my column name by its location? (1st, 2nd, 3rd ... columns in the dataframe)

CodePudding user response:

In R indexing starts from 1 (and not 0). Secondly, df is the dataframe to get the names of the columns you need to index names(df) or colnames(df).

df <- data.frame(A = 1:5, B = 1:5, C = 1:5)

#To get all the column names
names(df)
#[1] "A" "B" "C"

#To get the 1st column name
names(df)[1]
#[1] "A"

#To get 1st and 2nd column name
names(df)[1:2]
#[1] "A" "B"

#To get column names 1 to 3
names(df)[1:3]
#[1] "A" "B" "C"

#To get column names 1 and 3
names(df)[c(1, 3)]
#[1] "A" "C"

CodePudding user response:

Alternatively via select()

library(dplyr)
df %>% select(1,3) %>% colnames()
  • Related