You are looking for a list I guess:
df <- structure(list(V1 = structure(1:3,
.Label = c("ABC", "DEF", "FRD"), class = "factor"),
V2 = c(2L, 3L, 3L), V3 = 3:5, V4 = 4:6),
.Names = c("V1", "V2", "V3", "V4"), class = "data.frame",
row.names = c(NA, -3L))
df.l <- as.list(df[,2:4])
names(df.l) <- df[,1]
# $ABC
# [1] 2 3 3
# $DEF
# [1] 3 4 5
# $FRD
# [1] 4 5 6
Now, you can access these vectors by doing: df.l[["ABC"]]
Alternatively, if you would want to keep it as a data.frame, you should make the first column of your data.frame as it's column names:
df.o <- df[,2:4]
names(df.o) <- df[,1]
# ABC DEF FRD
# 1 2 3 4
# 2 3 4 5
# 3 3 5 6
Now, you can access it similar to accessing a list (a data.frame is internally a list as well).
> df.o[["ABC"]] # or equivalently as df$ABC
# [1] 2 3 3