【发布时间】:2018-02-22 23:44:49
【问题描述】:
我遇到以下问题:
我有一组需要规范频率的词。该列表包含 350 个单词。我还有另一个列表,我们称之为频率列表,其中包含超过 550 万个不同的单词及其对应的规范绝对频率。
现在,我需要这 350 个单词的频率。我想在 R 中使用此代码,但我的 MacBook 需要大约 7 分钟才能加载频率列表。
#Read data
decow <- read.table("decow14ax.freq10.w.tsv", header = TRUE, fill = TRUE)
#Converting wordlist in lower case
decow$token_lowercase <- tolower(as.character(decow$token...))
#Read word list
wordlist <- read.csv("wordlist.csv")
#Set frequency counter to 0
wordlist$norm_frequency = 0
#Obtaining frequencies for word list from norm database
for (i in 1:nrow(wordlist))
{
for (j in 1:nrow(decow_small)) {
if (wordlist$word[i]==decow$token_lowercase[j]) {
wordlist$norm_frequency[i] <- decow_small$f_raw[j]}
}
}
我注意到这段代码效率不高。相反,我想使用向量,因为我的猜测是它会阻止我必须实现这个循环 350 次,从而让我的笔记本电脑在几个小时内保持忙碌。
提前谢谢你。
【问题讨论】:
标签: r vector linguistics