我有一個2D應急表R;它是一個表格對象。我想通過在它的每個元素上應用一個函數來將它轉換成一個新表格。 我研究了sapply,tapply等,但它們都是針對總結/彙總數據。我寫我自己的映射功能,這樣做,這下面我重現:如何通過對R中的每個元素應用函數來將應急表映射到另一個表?
map.table = function(t,fn)
{
rows = dim(t)[1]
columns = dim(t)[2]
x = matrix(nrow=rows, ncol=columns)
rownames(x) = unlist(dimnames(bush.t)[1], use.names=FALSE)
colnames(x) = unlist(dimnames(bush.t)[2], use.names=FALSE)
for(row in seq(from=1, to=rows))
{
for(column in seq(from=1, to=columns))
{
x[row,column] = fn(t[row,column])
}
}
as.table(x)
}
這從頭創建一個矩陣,填補了維度名稱和元素。有沒有更好的方法來做到這一點?函數/包是否已經具有這種功能?R
謝謝,這工作。 – ipadawan