mapply
あなたが探しているもののようです。これにより、関数と複数の入力を提供できます。次に、関数の各入力の最初の要素を使用し、次に入力の2番目の要素を使用します。
symbols_v <- c('UPRO','TLT','SPXU','TBT','DRN','URE','SOXL')
out <- combn(symbols_v, 2)
# What you would probably want
mapply(f, out[1,], out[2,])
# Example output
mapply(paste, out[1,], out[2,])
# get rid of names
mapply(paste, out[1,], out[2,], USE.NAMES = FALSE)
# add other parameters to function of interest
mapply(paste, out[1,], out[2,], USE.NAMES = FALSE, MoreArgs = list(sep = "."))
これらの例からの出力:
> mapply(paste, out[1,], out[2,])
UPRO UPRO UPRO UPRO UPRO UPRO
"UPRO TLT" "UPRO SPXU" "UPRO TBT" "UPRO DRN" "UPRO URE" "UPRO SOXL"
TLT TLT TLT TLT TLT SPXU
"TLT SPXU" "TLT TBT" "TLT DRN" "TLT URE" "TLT SOXL" "SPXU TBT"
SPXU SPXU SPXU TBT TBT TBT
"SPXU DRN" "SPXU URE" "SPXU SOXL" "TBT DRN" "TBT URE" "TBT SOXL"
DRN DRN URE
"DRN URE" "DRN SOXL" "URE SOXL"
> # get rid of names
> mapply(paste, out[1,], out[2,], USE.NAMES = FALSE)
[1] "UPRO TLT" "UPRO SPXU" "UPRO TBT" "UPRO DRN" "UPRO URE" "UPRO SOXL"
[7] "TLT SPXU" "TLT TBT" "TLT DRN" "TLT URE" "TLT SOXL" "SPXU TBT"
[13] "SPXU DRN" "SPXU URE" "SPXU SOXL" "TBT DRN" "TBT URE" "TBT SOXL"
[19] "DRN URE" "DRN SOXL" "URE SOXL"
> # add other parameters to function of interest
> mapply(paste, out[1,], out[2,], USE.NAMES = FALSE, MoreArgs = list(sep = "."))
[1] "UPRO.TLT" "UPRO.SPXU" "UPRO.TBT" "UPRO.DRN" "UPRO.URE" "UPRO.SOXL"
[7] "TLT.SPXU" "TLT.TBT" "TLT.DRN" "TLT.URE" "TLT.SOXL" "SPXU.TBT"
[13] "SPXU.DRN" "SPXU.URE" "SPXU.SOXL" "TBT.DRN" "TBT.URE" "TBT.SOXL"
[19] "DRN.URE" "DRN.SOXL" "URE.SOXL"