r - 将逗号分隔的字符计数为 R 中的因子
问题描述
我有一个数据集,其中有一个名为 name_trackers 的变量,该变量中有多达 30 个不同的字符串,它们的名称使用逗号分隔。总共有 405 个不同的跟踪器,它们的出现已作为名称存储在上述变量中。我想确定跟踪器的频率。有没有人有办法让我做到这一点?
以逗号分隔的字符串形式的变量的文本格式:
name_trackers <chr> "Flurry,AppsFlyer,Twitter MoPub,Google DoubleClick,AppLovin,Google Analyt~
我的输出可能是一个新的数据框,有 405 行,第一列由 trackers_names 命名,第二列应该是名称在 4662 行的“旧”数据框中出现的次数
解决方案
我将通过使用为每个跟踪器的存在创建虚拟变量来解决此问题
dummy.tracker = grepl("tracker", var)
如果您想以编程方式为每个跟踪器执行此操作,您可以尝试这样的事情(可重现的示例)
df <- data.frame(
name_trackers = c("a,b", "a,b,c", "c"),
stringsAsFactors = F
)
trackers <- unique(unlist(strsplit(df$name_trackers, ",")))
for(tracker in trackers) {
#To create new dummy variables for each tracker
df[[tracker]] = grepl(tracker, df$name_trackers)
#If you're just interested in frequencies
print(paste0(tracker, ": ", mean(grepl(tracker, df$name_trackers))))
}
推荐阅读
- snowflake-cloud-data-platform - 雪花系统角色 - USERADMIN 与 SECURITYADMIN
- spring-boot - 在 SpringBoot 中不回滚
- python - 熊猫 .loc[].index
- amazon-web-services - 无法让 Route 53 路由到弹性豆茎
- c# - 在 Unity3D 中无法获得刚体的精确定位
- python - 如何以更简洁的方式编写这个 for 循环?
- linux - 在 NixOS 中运行 jetbrains-toolbox
- python - 在python中格式化日期
- postgresql - 为用户 postgres 授予数据库博客和购物车上的所有权限
- r - (R) forceNetwork 警告消息:“看起来源/目标不是零索引。这在 JavaScript 中是必需的,因此您的绘图可能无法呈现”