我使用ddply來避免冗餘計算。非集合函數的第一行
我經常處理分割子集內保存的值,並進行非聚合分析。所以爲了避免這個(一個玩具的例子):
ddply(baseball,.(id,year),function(x){paste(x$id,x$year,sep="_")})
Error in list_to_dataframe(res, attr(.data, "split_labels")) :
Results do not have equal lengths
我必須採取每個迷你數據框的第一行。
ddply(baseball,function(x){paste(x$id[1],x$year[1],sep="_")})
有沒有不同的方法或我應該使用的幫手?這個語法看起來很尷尬。
-
注:貼在我的例子是作秀 - 不要把它文生義。想象一下,這是實際的功能:
ddply(baseball,function(x){the_slowest_function_ever(x$id[1],x$year[1])})
我很驚訝沒有辦法從函數 –
內部獲得.variables引發的問題:https://github.com/hadley/plyr/issues/68 –