1. with(tips, tapply(tip, day, summary))
- with 함수와 함께 tapply를 사용한 예제입니다.(다른 방법들이 많으나 base 패키지에서 사용 가능한 함수를 사용하였습니다.)
- with(데이터, 적용함수)의 형태와, tapply(변수, 수준, 적용함수)의 형태로 사용합니다.
- 위의 코드의 결과값은 리스트 형태로 반환되며 각 리스트 요소의 이름은 day의 수준별이 되겠습니다.
2. apply(tips[,"tip",drop=F], 2, summary)
- 문제의 의도 파악이 되지 않은데요. apply는 보통 데이터의 여러 컬럼에 대해 동일한 함수를 적용할 때 많이 사용하는데 하나의 컬럼에 대해 apply 함수를 이용하라는 부분이 프로그래밍 면에서는 fancy하지는 않네요. (간단히 summary(tips$tip) 를 이용하면 되기 때문입니다.)
- apply 함수는 데이터, 컬럼/행, 함수 의 인자를 받습니다. apply(데이터, 컬럼/행, 함수, ...) 와 같은 식으로요.
- tips는 문자열( sex,smoker,day,time)을 포함한 data.frame이기 때문에 바로 apply(tips, 2, summary)를 하게 된다면 각 변수의 길이, 클래스 등을 반환합니다. 원하는 결과 값이 아니지요..
- 하여 마찬가지로 많은 방법이 있겠으나 하나의 예시로만 답변 드리겠습니다.
- tips데이터의 "tip" 컬럼만 끄집어 내고 drop=F를 이용해 데이터프레임의 형태를 유지했습니다. 그 다음 인자는 컬럼=2를 나타내는 의미로, "컬럼 단위로 뒤에 올 함수를 적용시킨다"는 의미입니다. 마지막으로 오는 인자에는 summary 함수를 적용합니다.
도움이 되셨으면 합니다 ~ ^^