문자열 ("b")을 포함하는 변수 (x)가 있습니다. 이 문자열은 데이터 프레임 (ABC)에 포함 된 변수의 이름을 제공합니다. get() 함수를 사용하여 데이터 프레임에서 변수 값을 검색하려고하면 "object not found"오류가 발생합니다.데이터 프레임에서 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
을 : 내가 볼 수있는 변수 x를 사용할 수있는 방법
ABC$b
[1] 2
을 변수 b의 값은?
미리 감사드립니다.
> get(x, ABC)
[1] 2
또는
> ABC[[x]]
[1] 2
우, 너무 바보 같았습니다 ... 고마워요! 하지만 적어도 변명의 여지가 있습니다 : 어떤 이유로, 변수 x (read.table을 사용하는 외부 소스에서 온)는 숫자 모드를가집니다. 물론 이것은 "object not found error"를 발생시킵니다. ABC [[as.character (x)]]를 사용하면 모든 것이 정상입니다. 고마워, 또! – Kilian
또한 x가 데이터 프레임의 유효한 이름을 저장하는지 확인하려면 "x % in % names (ABC)"입니다. – Spacedman