组合循环和一些 dplyr 函数
combining loops and some dplyr functions
我正在处理一个大型数据集,我试图在其中计算 TI 的数量
其中存储在名为“word”的列中的单词频率大于 0。
我设法使用 dplyr 包计算了这个(可能有更简单的方法
这样做但不幸的是我不是一个非常有效的编码器)。
我想使用循环对 select 个单词列表重复此练习。
假设我想对存储在以下向量中的所有单词重复我的练习(如下所示)
keywords <- c("contagion", "crisis", "risk")
我真的没有太多使用循环的经验。
如果有人可以帮助我解决这个问题,我将节省大量时间!
df <- data.frame(TI=c("A","B","C","D","E"),
word=c("contagion", "contagion", "crisis", "risk", "money"),
frequency=c(2, 2, 1, 3, 4))
count <- df %>%
filter(word=="contagion" & frequency>0) %>%
group_by(TI) %>%
tally() %>%
nrow()
非常感谢。
我们可以用map
循环遍历'keywords',然后filter
其中'word'是那个关键字,频率大于0,然后分组'TI',得到tally
和行数
library(purrr)
library(dplyr)
map(keywords, ~ df %>%
filter(word == .x, frequency > 0) %>%
group_by(TI) %>%
tally() %>%
nrow())
我正在处理一个大型数据集,我试图在其中计算 TI 的数量 其中存储在名为“word”的列中的单词频率大于 0。 我设法使用 dplyr 包计算了这个(可能有更简单的方法 这样做但不幸的是我不是一个非常有效的编码器)。 我想使用循环对 select 个单词列表重复此练习。 假设我想对存储在以下向量中的所有单词重复我的练习(如下所示)
keywords <- c("contagion", "crisis", "risk")
我真的没有太多使用循环的经验。 如果有人可以帮助我解决这个问题,我将节省大量时间!
df <- data.frame(TI=c("A","B","C","D","E"),
word=c("contagion", "contagion", "crisis", "risk", "money"),
frequency=c(2, 2, 1, 3, 4))
count <- df %>%
filter(word=="contagion" & frequency>0) %>%
group_by(TI) %>%
tally() %>%
nrow()
非常感谢。
我们可以用map
循环遍历'keywords',然后filter
其中'word'是那个关键字,频率大于0,然后分组'TI',得到tally
和行数
library(purrr)
library(dplyr)
map(keywords, ~ df %>%
filter(word == .x, frequency > 0) %>%
group_by(TI) %>%
tally() %>%
nrow())