我試圖通過使用文檔化的應用函數來避免循環,但一直未能找到任何適合我的目的的示例。我有兩個向量,X,它是(1個XP)和ÿ,它是(1個XQ),並希望它們的參數的笛卡爾乘積送入一個函數,這裏是一個簡約例子:將函數應用於兩個不等向量的笛卡爾乘積
require(kernlab)
x = c("cranapple", "pear", "orange-aid", "mango", "kiwi",
"strawberry-kiwi", "fruit-punch", "pomegranate")
y = c("apple", "cranberry", "orange", "peach")
sk <- stringdot(type="boundrange", length = l, normalized=TRUE)
sk_map = function(x, y){return(sk(x, y))}
我意識到我可以在一個維度上使用apply函數,爲另一個維度使用循環,但是我覺得必須有一種方法可以一步完成......任何想法?
'apply'只會工作時x'的'數據類型和'y'是相同的(或者它是否可以強迫他們是相同的)。更常見的情況是'mapply(fn,dat [[1]],dat [[2]]))' – MrFlick
在這種情況下,函數比較字符串匹配子字符串,所以我不認爲這會有問題這裏(例如,如果一列是一個因子或字符而另一列是數字,則該函數可以正常工作),但這很重要,以備將來參考。 – eipi10
對,在這種情況下,它會工作。但是,由於問題的標題提出了一個更一般的解決方案,我想確保它也包含在內。 – MrFlick