Использование get () на фрейме данных - PullRequest
0 голосов
/ 21 октября 2011

У меня есть переменная (x), содержащая строку символов ("b").Эта строка дает имя переменной, которая содержится в кадре данных (ABC).При попытке использовать функцию get () для получения значения переменной в кадре данных я получаю ошибку «объект не найден».

a <- 1
b <- 2
c <- 3
ABC <- data.frame(a,b,c)
x <- "b"

Это работает:

get(x)
  [1] 2

Хотя это дает ошибку:

get(paste("ABC$",x,sep=""))
  Error in get(paste("ABC$", x, sep = "")) : object 'ABC$b' not foundhere

Хотя это работает:

ABC$b
  [1] 2

Как я могу использовать переменную x, чтобы увидеть значение переменной b?

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 21 октября 2011

Вы делаете вещи слишком сложными.

ABC[,x]

или

ABC[[x]]

должно работать нормально.

2 голосов
/ 21 октября 2011

попробуйте это:

> get(x, ABC)
[1] 2

или

> ABC[[x]]
[1] 2
...