1
我有一個XTS
數據集,其中包含許多股票收盤價,名爲:dataset
。然後我想通過cor()
找到他們的退貨是否有任何關聯,但是我收到一條錯誤消息:Error in cor(RETS) : 'x' must be numeric
。相關性錯誤:'x'必須爲數字
這裏是我做了什麼:
RETS <- CalculateReturns(dataset, method= c("log")) # Calculate returns Via PerformanceAnalytics
RETS<- na.locf(RETS) #Solves missing NAs by carrying forward last observation
RETS[is.na(RETS)] <- "0" #I then fill the rest of the NAs by adding "0"
這裏是RETS
row.names A.Close AA.Close AADR.Close AAIT.Close AAL.Close
1 2013-01-01 0 0 0 0 0
2 2013-01-02 0.0035 0.0088 0.0044 -0.00842 0
3 2013-01-03 0.0195 0.0207 -0.002848 -0.00494 0
4 2013-01-06 -0.0072 -0.0174 0.0078 -0.00070 0
5 2013-01-07 -0.0080 0 -0.01106 -0.03353 0
6 2013-01-08 0.0266 -0.002200 0.006655 0.0160 0
7 2013-01-09 0.0073 -0.01218 0.007551 0.013620 0
的樣本。然後我執行的相關性:
#Perform Correlation
cor(RETS) -> correl
Error in cor(RETS1) : 'x' must be numeric
#Tried using as.numeric
cor(as.numeric(RETS), as.numeric(RETS) -> correl
然而,答案是「1 」。我也嘗試使用psych
中的相關函數,但得到相同的錯誤消息。
你能告訴我們'typeof(RETS)'的結果嗎? – Pop
@Pop是的,'typeof(RETS)=「字符」' – Jason
你的問題是什麼?通過使用'RETS [is.na(RETS)] < - 「0」',您可以將所有數據轉換爲字符,並且無法計算字符的相關性。 – Roland