User들이 자신들의 고유 목적으로 만드는 함수들은 대부분 결과값이 1개이다. 가령 평균값, 분산값 등....
# Log return function
my_log <- function(x){
log_value <- log(x)
return(log_value)
}
# Output
> my_log(5)
그런데 가령, 분산, 최대값, 평균값 등 여러개의 결과값들을 동시에 출력을 하는 방법은 없는가?
정답은 "아니다"입니다. list()를 사용하여 구현할 수 있습니다.
제가 간단히 만들어 본 2차방정식 근의 공식입니다. 출력값이 +값이, -값 두개가 나오는데, list()로 문제를 해결했습니다.
> poly_roots<-function(a,b,c){
+ #polynomial roots
+ x1= (-b+sqrt(b^2-4*a*c))/(2*a)
+ x2= (-b-sqrt(b^2-4*a*c))/(2*a)
+ my_list <- list(x1,x2)
+ return(my_list)
+ }
> df=poly_roots(-0.03,-0.4,1)
> df
[[1]]
[1] -15.48584
[[2]]
[1] 2.152504
또는 아래와 같이 결과값을 출력할 수도 있습니다.
> df[[1]]
[1] -15.48584
> df[[2]]
[1] 2.152504
참고로 [[1]]은 list 형식의 데이타에 사용되는 결과값의 형식입니다.