例如,删除R中cor()内部的值

时间:2017-04-06 12:50:02

标签: r correlation ordinals

考虑以下调查数据:

data <- replicate(10 ,sample(c(1,2,3,4), 1000, replace = TRUE)) %>%
  as.data.frame()

V1:V91 = "Good"2 = "Okey"3 = "Not Good"以及4 = "Don't know"的变量,而V101 = "Good"的序数变量,2 = "Not good"3 = "Don't know"4 = "Don't want to answer"

我有兴趣在这些变量上使用cor()计算简单的相关矩阵。但是,我只想在实际意味着什么的值之间进行计算。也就是说,1,2,3V1:V91,2V10

换句话说,我希望案例明智地删除> 3的任何值V1:V9,并> 2 V10cor()的值library("dplyr") data_test <- data_test %>% mutate_each(funs(ifelse(. > 3, NA, .)), -V10) %>% mutate(ifelse(V10 > 2, NA, V10)) cor(data_test, use = "complete.obs") 功能。

这与use参数类似?

我设法解决这个问题的唯一方法是将这些值变为NA。

<% if user.email == "user@gmail.com" %>
  <% @receivers.each do |r| %>
    <%= r.email %>
  <%end%>
<% end %>

但是有没有更好的方法不一定依赖于修改数据。

PS。当然,有更多适当的方法来计算序数变量之间的相关性。

1 个答案:

答案 0 :(得分:0)

这个问题的答案比我想象的要简单。

正如@ zx8754指出的那样,在为分类变量选择相关方法时应该小心。

无论如何,您只需更改.map(res => new Blob([res.json()],{ type: 'application/zip' }))

中的use = "pairwise.complete.obs"即可

但是,您仍然需要将4变异为cor()