考虑以下调查数据:
data <- replicate(10 ,sample(c(1,2,3,4), 1000, replace = TRUE)) %>%
as.data.frame()
V1:V9
是1 = "Good"
,2 = "Okey"
和3 = "Not Good"
以及4 = "Don't know"
的变量,而V10
是1 = "Good"
的序数变量,2 = "Not good"
,3 = "Don't know"
和4 = "Don't want to answer"
。
我有兴趣在这些变量上使用cor()
计算简单的相关矩阵。但是,我只想在实际意味着什么的值之间进行计算。也就是说,1,2,3
为V1:V9
,1,2
为V10
。
换句话说,我希望案例明智地删除> 3
的任何值V1:V9
,并> 2
V10
中cor()
的值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。当然,有更多适当的方法来计算序数变量之间的相关性。
答案 0 :(得分:0)
这个问题的答案比我想象的要简单。
正如@ zx8754指出的那样,在为分类变量选择相关方法时应该小心。
无论如何,您只需更改.map(res => new Blob([res.json()],{ type: 'application/zip' }))
use = "pairwise.complete.obs"
即可
但是,您仍然需要将4变异为cor()
。