반응형
여러 모수를 사용하는 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
두 가지 요소 중 첫 번째/2번째/3번째/등을 모두 얻다mylist
그리고.var2
그럼 당신은.mapply
의 영역.
함수에 두 개의 벡터 변수가 있고 각 벡터 변수 값에 대해 자체 계산을 수행해야 하는 경우(@Ari B 참조).프리드먼) 사용할 수 있습니다.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
반응형
'programing' 카테고리의 다른 글
typeScript의 array.groupBy (0) | 2023.06.18 |
---|---|
파괴 시 문자 유형 주조 (0) | 2023.06.18 |
열거에 설명 특성을 추가하고 TypeScript에서 이 설명을 읽습니다. (0) | 2023.06.13 |
PHP를 사용하여 .xlsx 파일을 .csv 파일로 변환 (0) | 2023.06.13 |
WooCommercommercommerce:체크아웃 페이지에서 기본적으로 국가 설정 (0) | 2023.06.13 |