鑑於與重量以下矩陣中的第一列LS和heihts在第二式柱的行:簡明應用到(MX 2)矩陣
> wgt.hgt.matrix
[,1] [,2]
[1,] 180 70
[2,] 156 67
[3,] 128 64
[4,] 118 66
[5,] 202 72
我尋找一個簡明的方式來應用此二進制函數像
function(lb, inch) { (lb/inch**2)*703 } -> bmi
到矩陣的每一行,從而導致陣列,列表或與5個得到的BMI值向量。我找到了一種方法使用apply
功能:
apply(wgt.hgt.matrix, 1, function(row) bmi(row[1], row[2]))
但圖示操作符如紅寶石(*),將有助於使通話更加簡潔明瞭:
apply(wgt.hgt.matrix, 1, function(row) bmi(*row))
是否等同於圖示操作存在,即語法元素告訴R分裂所有向量類對象來填充參數列表? apply
電話有其他更簡單或更簡潔的建議嗎?
這並沒有具體回答我關於R中是否存在'splat'的問題,但似乎使用接受向量的函數似乎確實是R中最接近可能的事情。 – neradis
我不知道splat等價函數。有一些名稱爲'的函數。'在'bquote''或'plyr :: ddply'這樣的特定環境下運行,以適合該功能的方式評估或擴展其參數。你可能會構建類似的東西。 –