我有一個data.frame有3列,其中每個可以被認爲是一個因素。我想計算data.frame上的一些統計數據並將其存儲在新框架中。更具體地講,我有以下字段:基於R data.frame上的多列的向量化元數據計算框架
obs, len, src
A 10 X
B 10 Y
我想計算每個源擊穿每個長度(即從什麼源X是長度爲10的意見的比例是「A」 ,「B」等)
一個明顯的方法是使用兩個for循環遍歷長度和源,然後使用nrow()和count()來獲取我需要計算的值,像這樣:
relevant_subset <- data[data$src==source & data$len==length,]
breakdown_info <- count(relevant_subset)
breakdown_info$frac <- breakdown_info$freq/nrow(relevant_subset)
有沒有辦法避免使用double for循環和使用更多v ectorized方法?是否有一種聰明的方式來預先分配可以爲每個長度和來源保存修改後的breakdown_info的新框架?
你試過'table'? – asb