2011-09-19 3 views

답변

3

"$"연산자가 인수를 평가하지 않기 때문에 작동하지 않습니다. 필요한 것은 "["또는 "[[". (그것은 당신의 테이블을 호출하는 것은 좋은 생각이 아니다. "테이블". 그것은 table 기능을 사용하는 사용자를 혼란.) (

table <- structure(c(0, 1, 1, 1, 0, 0, 0, 0, 0), .Dim = c(3L, 3L), .Dimnames = list(
    c("X1", "X2", "X3"), c("a", "b", "c")), class = "table") 
table[ , col.name] 
# X1 X2 X3 
# 0 1 1 
table[ , "a"] 
# X1 X2 X3 
# 0 1 1 
table 
table[["a"]] 
Error in table[["a"]] : subscript out of bounds 
2
table[[col.name]] 

어디에서나 작동합니다 $ 운영자는 작동 목록 및 데이터 등의 파생 클래스 프레임). 문제는 목록 및 데이터 프레임에 액세스하는 방법이 문자열 이후의 모든 것을 처리하는 지름길 일 뿐이라는 것입니다. 평가 된 코드의 결과 인 문자열을 사용하려면 일종의 대괄호 표기법을 사용해야합니다.

+0

이것이 실제로 R 테이블, 즉 우연 테이블 인 경우를 제외하고는 색인 생성이 행렬처럼 수행되고 [[.]] 성공하지 못합니다. –

+0

맞아,하지만'$'테이블도 작동하지 않는다. 이름 붙은 목록에서만 작동한다. 질문은 행렬, 배열 또는 표에 적용되지 않습니다. –

+0

포인트가 찍혔습니다. 나는 아마도 지나치게 빛났다. –

관련 문제