반응형
R은 여러 매개 변수를 가진 기능을 적용
f(var1, var2)
R에 함수 가 있습니다. 설정 한 var2 = 1
다음 함수 f()
를 목록 에 적용하려고 한다고 가정 합니다 L
. 기본적으로 출력이있는 새로운 목록 L *을 얻고 싶습니다.
[f(L[1],1),f(L[2],1),...,f(L[n],1)]
어떻게하면이 중 하나와 함께해야합니까 apply
, mapply
또는 lapply
?
적용 함수 중 하나에 추가 인수로 var2를 전달하십시오.
mylist <- list(a=1,b=2,c=3)
myfxn <- function(var1,var2){
var1*var2
}
var2 <- 2
sapply(mylist,myfxn,var2=var2)
이것은의 var2
모든 호출에 동일 하게 전달 myfxn
됩니다. 대신에 당신은 각각의 호출이 myfxn
1 / 2 / 2 / 3 / etc를 얻길 원합니다 . 모두의 요소 mylist
와 var2
, 당신은에있어 mapply
의 도메인.
함수에 두 개의 벡터 변수가 있고 각 변수 값에서 자체 계산해야하는 경우 (@Ari B. Friedman이 언급 한대로) mapply
다음과 같이 사용할 수 있습니다 .
vars1<-c(1,2,3)
vars2<-c(10,20,30)
mult_one<-function(var1,var2)
{
var1*var2
}
mapply(mult_one,vars1,vars2)
그것은 당신에게 제공합니다 :
> mapply(mult_one,vars1,vars2)
[1] 10 40 90
@Alexander의 예를 더 일반화하려면 outer
함수가 각 벡터 값 쌍 에서 자체적으로 계산해야하는 경우와 관련이 있습니다.
vars1<-c(1,2,3)
vars2<-c(10,20,30)
mult_one<-function(var1,var2)
{
var1*var2
}
outer(vars1,vars2,mult_one)
제공합니다 :
> outer(vars1, vars2, mult_one)
[,1] [,2] [,3]
[1,] 10 20 30
[2,] 20 40 60
[3,] 30 60 90
참고 URL : https://stackoverflow.com/questions/6827299/r-apply-function-with-multiple-parameters
반응형
'program tip' 카테고리의 다른 글
TensorFlow에서 Variable과 get_variable의 차이점 (0) | 2020.07.27 |
---|---|
파이썬으로 mp3 메타 데이터 접근하기 (0) | 2020.07.27 |
변화와 새 메시지를 전하지 않는 방법? (0) | 2020.07.27 |
ASP.NET 웹 API에서 처리되지 않은 모든 예외를 포착하십시오. (0) | 2020.07.27 |
응용 프로그램이 실행되는 동안 iPhone 화면이 어두워 지거나 꺼지는 것을 어떻게 방지합니까? (0) | 2020.07.27 |