2017-09-25 99 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的大型数据集的一部分吗? –