하나의 열이 "region"인 데이터 프레임 "c1"이 있습니다. 제가클래스를 유지하면서 R의 paste() 출력에서 따옴표를 제거하십시오.
f1<-paste("c1","$","region",sep="")
> f1
[1] "c1$region"
> sum(is.na(f1))
[1] 0
) (페이스트를 사용할 때
sum(is.na(c1$region))
[1] 2
class(c1$region)
[1] "factor"
단, I는 as.name (F1)과 as.symbol (F1)를 시도했다. 둘 다 f1을 "이름"클래스로 변환합니다. noquote (f1)은 char [1] 요소를 "noquote"클래스로 변환합니다.
> f2<-as.name(f1)
> f2
`c1$region`
> sum(is.na(f2))
[1] 0
Warning message:
In is.na(f2) : is.na() applied to non-(list or vector) of type 'symbol'
> class(f2)
[1] "name"
sum (is.na (f2))과 같은 쿼리에서 사용할 수있는 동안 c1 $ region의 클래스를 유지하려고합니다. 도와주세요.
수행하려는 작업을 수행 할 수없는 이유에 대한 자세한 내용은 [** 여기 **] (http://stackoverflow.com/a/18228613/1478381)를 참조하십시오. –
일반적인 방법은 아니지만,'sum (is.na (eval (parse (text = f1)))'은'f1'와 함께 작동합니다. –
일반 문자열 인 것처럼 변수 이름과 색인을 작성하는 것은 끔찍한 일입니다 R에서 아이디어가 필요합니다. 정말로 이것이 정말로 필요한가요? 글로벌 환경에서 여러 변수가 아닌 관련 데이터를 저장하기 위해 적절한'list()'객체를 사용해야하는 것처럼 보입니다. – MrFlick