2017-09-25 42 views
0

我希望從下面的數據集中找到旅行持續時間和年齡的相關性。我正在使用功能cor(age,df$tripduration)。但是,它給了我輸出NA。你能不能讓我知道我該如何處理關聯?我找到了 「時代」 的語法如下:如何查找數據集中的相關性

age <- (2017-as.numeric(df$birth.year)) 

tripduration(seconds)作爲df$tripduration

以下是數據。性別中的數字1表示男性,2表示女性。

tripduration birth year gender 
439    1980  1 
186    1984  1 
442    1969  1 
170    1986  1 
189    1990  1 
494    1984  1 
152    1972  1 
537    1994  1 
509    1994  1 
157    1985  2 
1080    1976  2 
239    1976  2 
344    1992  2 
+0

你一定做了一個錯字的地方,因爲當我運行示例代碼中,我得到8.37% – lebelinoz

回答

1

我認爲你正在試圖用數據幀減去一個數字,所以它不起作用。這爲我工作:

birth <- df$birth.year 
year <- 2017 
age <- year - birth 
cor(df$tripduration, age) 
>[1] 0.08366848 

# To check coefficient 
cor(dat$tripduration, dat$birth.year) 
>[1] -0.08366848 

順便說一句,請用容易複製的數據,人們可以複製並粘貼到自己的R.這實際上可以幫助你找到答案格式化的問題。


根據OP的評論,這是一個新的建議。在執行相關性測試之前,嘗試使用NA刪除行。

df <- df[complete.cases(df), ] 
age <- (2017-as.numeric(df$birth.year)) 
cor(age, df$tripduration) 
>[1] 0.1726607 
+0

這是行不通的。我無法用上面的語法獲得年齡。因此,相關性也不起作用。但是,通過我發送的代碼 - 年齡< - (2017-as.numeric(df $ birth.year)),我可以獲得出生年份的所需年齡。我們可以做點別的嗎? – Rikin

+0

試試'cor(age,df $ tripduration,dat,use =「pairwise.complete.obs」)' –

+0

你的例子是包含NA的大型數據集的一部分嗎? –