我正在编写一个 rmd 文件,我想查看 knitted 文件开头的总字数。
方法:我看到了一些关于 SO 的问题,但所有这些问题都建议写下一个函数并通过该函数传递一个 rmd 文件以从外部获取字数。但我需要在 knitted 文件中添加这个字数。
这可能吗? Ant 类型的建议将不胜感激。谢谢。
最佳答案
看来 wordcountaddin
提供您想要的功能。不幸的是,尽管安装成功(?),wordcountaddin::word_count
给我抛出一个错误,所以我无法进一步测试它。
虽然我试图弄清楚这一点,但这里有一个不使用额外 R 包的替代方案:
---
title: "Untitled"
output: pdf_document
---
Word count: `r as.integer(sub("(\\d+).+$", "\\1", system(sprintf("wc -w %s", knitr::current_input()), intern = TRUE))) - 20`
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
这会产生
这个想法是使用wc -w
计算您正在编织的 Rmarkdown 文件中的单词数。命令system("wc -l <file>", intern = TRUE)
返回名称 <file>
后面的单词数;然后我们提取数字部分,转换为integer
并减去我们想要排除的单词数(例如,构成整个 r as.integer(...)
调用的“单词”、标题等。这需要一些手动调整,并且是不是很优雅,但有效。在这种情况下,我使用了不同的值,直到字数统计给出了第一个“Lorem ipsum”段落的字数。
我已经在 Windows 10 和 MacOS 上对此进行了测试,它似乎有效。
关于r - 在 rmd 上添加字数统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67929629/