【问题标题】:R - Calculate data sparsity - Mostly Categorical DataR - 计算数据稀疏度 - 主要是分类数据
【发布时间】:2021-03-05 19:36:57
【问题描述】:

我正在尝试计算我的 df 的稀疏值。通过其他帖子等,我已经能够拼凑出一种可行的解决方案,但挑战在于电子邮件列中有 49 个不同的值表示没有电子邮件。有没有更高效的方法?

#caculate counts for individual terms
a <- sum(str_count(df1, "-"))
b <- sum(str_count(df1, "No Ethnicity"))
c <- sum(str_count(df1, "Unknown"))
d <- sum(str_count(df1, "No Marital Status"))
e <- sum(str_count(df1, "No Race"))
f <- sum(str_count(df1, "No Preferred Language"))

#sum the counts in order to create the numerator
z <- sum(a,b,c,d,e,f)

#calculate the sparsity value
z/(dim(df1)[1]*dim(df1)[2])

我尝试在每一行中添加多个术语,但无法使其正常工作。我在记事本文件中有电子邮件地址列表,有什么方法可以对它运行循环吗?我在 R 方面不是很先进,也不熟悉这样的调用是如何工作的。我用批处理文件做了类似的事情。

类似:

对于 %filename% 中的每个值 发生

或者如果这不起作用,有没有办法在同一个命令中输入多个术语?

当然,如果您有建议以完全不同的方式完成相同的任务,我也很高兴听到。只是试图计算分类数据的数据稀疏性。

谢谢

【问题讨论】:

  • sum(str_count(df1, "-|No Race|Unknown|No Marital Status| ....")) 应该可以工作
  • @Jon Spring 是的!这完全奏效了。我正在做相当于 sum(str_count(df1, "-", "No Race", "Unknown", "No Marital Status")) 谢谢!

标签: r categorical-data


【解决方案1】:

Jon Spring 在 cmets 中发布了这个解决方案:

sum(str_count(df1, "-|No Race|Unknown|No Marital Status| ...."))

【讨论】:

    猜你喜欢
    • 2016-09-26
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多