【发布时间】: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