2013-03-21 99 views
-1

我試圖運行下面的腳本:錯誤與「功能」類

m <- matrix(c(1,1,2,1,3,12,14,16,30,21), nrow=5, ncol=2, byrow=FALSE); 

colnames(m) <-c("Group","Score"); 
m<-data.frame(m) 
head(m) 


sum1 <- aggregate(list(total_score=m$Score), by=list(group=m$Group), FUN=sum) 
sum1 

但是,當我運行該腳本,控制檯返回以下錯誤:

Error in as.data.frame.default(x) : 
    cannot coerce class '"function"' into a data.frame 

我的天堂在......之前沒有看到這個錯誤。任何人對於什麼是錯的想法?

+0

我可以在沒有任何錯誤的情況下運行新的R會話。你有沒有加載衝突的對象名稱? – 2013-03-21 18:18:10

+1

所以,現在你運行的是你的[上一個](http://stackoverflow.com/questions/15532316/error-unused-arguments-for-function-aggregate)問題完全相同的代碼,但錯誤是不同的?你爲什麼不編輯原來的那個? – joran 2013-03-21 18:18:59

+0

如果您想查明問題,您應該單獨測試每個項目的班級/輸出。做'list(total_score = m $ Score)',然後'list(group = m $ Group)',確保你爲'aggregate'的每個參數獲得了正確的輸出。 – 2013-03-21 18:21:48

回答

1

你很可能重寫了其中一個內置函數,比如list()或sum()。

有一點需要注意的是,R啓動時會自動加載名爲「.RData」的工作空間,並且您可能已將先前被覆蓋的函數保存在該文件中。

檢查您從任何.RData文件開始R的文件夾,並刪除它們或重命名它們(它們可能被隱藏!),因此R不會在啓動時加載任何內容。