我想計算2090 x 25
數據幀中每列的基尼係數。我使用的ineq包基尼功能,下面的代碼:基尼係數,R中的ineq包和整數溢出
gini <- sapply(mydata, function(x) ineq(x,type="Gini")).
這產生的結果看起來有效,但也以下警告消息:
警告信息:
1: In n * sum(x) : NAs produced by integer overflow
2: In sum(x * 1:n) : Integer overflow - use sum(as.numeric(.))
3: In n * sum(x) : NAs produced by integer overflow
要克服整數溢出我將數據幀轉換爲矩陣(mymatrix <- as.matrix(mydf))
但結果全部爲零或NAs。我認爲這是因爲ineq包需要一個向量而矩陣不是一個向量。
我的問題是:
- 我怎麼能轉換成整數,列數字,並保留了一個向量類?
- 是否有任何其他選項來解決整數溢出問題?
感謝
Nerida
你可以做'str(mydata)'然後'dput'你的數據的一個子集來複制這個錯誤 – dickoa
當你重新開始時,每一列都被轉換成一個向量。 –