0
我在數據框上執行簡單函數時遇到問題,無法確定它是列的數據類型還是數據框中的錯誤數據。錯誤的R數據類型或錯誤的數據?
我將一個SQL查詢導出到一個CSV文件中,然後將其加載到一個數據框中,然後將其附加。
df <-read.csv("~/Desktop/orders.csv")
Attach(df)
當我完成,並運行str(df)
,這裏是我得到:
$ AccountID: Factor w/ 18093 levels "(819947 row(s) affected)",..: 10 97 167 207 207 299 299 309 352 573 ...
$ OrderID : int 1874197767 1874197860 1874196789 1874206918 1874209100 1874207018 1874209111 1874233050 1874196791 1875081598 ...
$ OrderDate : Factor w/ 280 levels "","2010-09-24",..: 2 2 2 2 2 2 2 2 2 2 ...
$ NumofProducts : int 16 6 4 6 10 4 2 4 6 40 ...
$ OrderTotal : num 20.3 13.8 12.5 13.8 16.4 ...
$ SpecialOrder : int 1 1 1 1 1 1 1 1 1 1 ...
試圖運行下面的功能,這裏是我得到:
> length(OrderID)
[1] 0
> min(OrderTotal)
[1] NA
> min(OrderTotal, na.rm=TRUE)
[1] 5.00
> mean(NumofProducts)
[1] NA
> mean(NumofProducts, na.rm=TRUE)
[1] 3.462902
我有兩個與此數據幀有關的問題:
- 我是否有適合這些列的數據類型?數字與整數與小數。
- 有沒有辦法查看數據集以找到需要使用na.rm = TRUE的行以使該功能有效?我想知道有多少,等等。
將列名暴露給全局環境的常用函數是attach(df),那麼你使用了不同的函數還是你拼錯了它? –
@DWin你的意思是'attach()'和'Attach()'? – mikebmassey
是的。在R Attach()不是基本函數。所以如果它起作用,它必須來自其他一些軟件包。 –