access data frame column using variable

You can do it this way

a = "col1"
b = "col2"
d = data.frame(a=c(1,2,3),b=c(4,5,6))

>d
  a b
1 1 4
2 2 5
3 3 6

#Renaming the columns
names(d) <- c(a,b)
> d
  col1 col2
1    1    4
2    2    5
3    3    6

#Calling by names
 d[,a]

After creating your data frame, you need to use ?colnames. For example, you would have:

d = data.frame(a=c(1,2,3), b=c(4,5,6))
colnames(d) <- c("col1", "col2")

You can also name your variables when you create the data frame. For example:

d = data.frame(col1=c(1,2,3), col2=c(4,5,6))

Further, if you have the names of columns stored in variables, as in

a <- "col1"

you can't use $ to select a column via d$a. R will look for a column whose name is a. Instead, you can do either d[[a]] or d[,a].

Tags:

R

Dataframe