2012-05-12 3 views
2

나는 다음과 같은 예를 들어, 데이터 프레임 Xddply 함수 내에서 그룹화 용어를 사용 하시겠습니까?

id val 
a 1 
a 2 
a 3 
b 2 
b 4 
b 9 

내 SAC을하는 동안 적용하는 간단한 기능을 가지고 있습니다. 뭔가,

f.x <- function(x){ 
cat(x$id,"\n") 
} 

참고, 내가하려는 것은 그룹화 용어를 인쇄하는 것입니다. 이 함수는 다음과 같이 ddply를 사용하여 호출됩니다.

ddply(x,.(id),f.x) 

그러나이 명령을 실행하면 목록의 인덱스로 의심되는 정수 출력을 얻습니다. f.x에서 실제 그룹화 용어를 얻으려면 어떻게합니까 (이 경우 '&'b ')? 미리 감사드립니다.

답변

1

원하는 작업을 모두 인쇄하려면 d_ply를 사용해야합니다. 함수에 전달 된 ddply (d_ply) 실제 인수 (여기서 f.x)는 data.frame (x data.frame의 하위 집합)이므로 f.x 함수를 수정해야합니다.

f.x <- function(x) cat(x[1,"id"],"\n") 
d_ply(x,.(id),f.x) 
4

변수가 여러 개의 문자처럼 보이기 때문에 실제로는 문자 집합이라고 생각하면 안됩니다.

요소는 문자가 아닙니다. 그것들은 정수 코드이며 종종 정수 코드처럼 행동합니다.

as.character()를 사용하여 문자에 값을 강제 변환합니다.

관련 문제