【发布时间】:2018-08-29 04:24:38
【问题描述】:
如果您有任何关于创建“循环”或“函数”的建议,我将不胜感激: 我的目标本质上是手动提取文本字符串 - 将几个相关术语修改为一个术语。
我的代码单独执行它绝对可以正常工作,但如果我可以迭代它会节省我很多时间。
# dataframe of the collection of terms to be substituted into one term
Babanov_stem <- c("бабановдун", "бабановду", "бабановтун", "бабанову", "бабановту", "бабановго", "бабановко", "бабановым", "бабановдон", "бабановтон",
"бабанове", "бабановто", "babanova", "babanov", "babanovpresident",
"бабанова")
Babanov_seq <- seq(1:16)
Babanov <- data_frame(Babanov_seq, Babanov_stem)
# single code works fine
tidy_KG17pre$word2 <- str_replace_all(tidy_KG17pre$word2, Babanov$Babanov_stem[15], "бабанов")
单独的代码效果很好,但我真的很想迭代 - 因为我必须在大约 25 个术语但跨越 5 个候选者(Babanov 是候选者 1)中这样做
# My poor effort at a for loop
for (i in seq(Babanov$Babanov_stem)){
tidy_KG17pre$word2 <- str_replace_all(tidy_KG17pre$word, Babanov_stem[i], "бабанов")
}
# My effort at Functional Programming appears to be a bit weak too
library(purrr)
tidy_KG17pre$word2 <- tidy_KG17pre$word %>%
map(str_replace_all, Babanov$Babanov_stem, "бабанов") %>%
reduce(append)
如果您有任何关于如何使上述任何一项工作的想法,我将非常感激:)
【问题讨论】:
-
请提供reproducible 示例
-
非常感谢您回复 Val 和 Paul - 有没有办法发送数据帧(它是一个未嵌套的整齐格式数据帧)?
-
阅读Val提供的链接,可以使用
dput,如果太大,可以放到github gist上。 -
非常感谢 Paul 和 Val,对不起,我是个新手 - 数据集在 github - rfche704/Kyrgyz-tidy-Dataset 还有 2 个数据集,字符串和 tidy 版本。我一直在编辑整理版
标签: r loops for-loop functional-programming stringr