将HTML转换为R标记

将HTML转换为R标记,r,r-markdown,R,R Markdown,是否有一种方法可以转换html文件,例如,并将其转换为可执行的R标记文件(rmd)?如果标记文件(.md)足够,则下载并安装pandoc,如果您还没有它。然后从命令行运行此命令,或从R中使用system(“pandoc…”)或shell(“pandoc…”) pandoc https://cran.r-project.org/web/packages/tidytext/vignettes/tidytext.html -o out.md 对于一个特定的文件,可以对源代码和输出部分进行后期处理,但

是否有一种方法可以转换html文件,例如,并将其转换为可执行的R标记文件(rmd)?

如果标记文件(
.md
)足够,则下载并安装
pandoc
,如果您还没有它。然后从命令行运行此命令,或从R中使用
system(“pandoc…”)
shell(“pandoc…”)

pandoc https://cran.r-project.org/web/packages/tidytext/vignettes/tidytext.html -o out.md
对于一个特定的文件,可以对源代码和输出部分进行后期处理,但这可能会带来一些额外的工作,可能是相当大的工作量。

如果一个标记文件(
.md
)足够,那么下载并安装
pandoc
(如果您还没有)。然后从命令行运行此命令,或从R中使用
system(“pandoc…”)
shell(“pandoc…”)

pandoc https://cran.r-project.org/web/packages/tidytext/vignettes/tidytext.html -o out.md
对于一个特定的文件,可以对源代码和输出部分进行后期处理,但这可能意味着额外的工作,可能是大量的

二进制文件几乎完全是令人惊叹的,我使用它例如将
Rd
文件的
html
输出转换回markdown(将包含在其他markdown文档中)

但这用于它所知道的:从markdown转换为html等。它本身对R一无所知。因此,除了从它创建的输出中获取代码这一形而上学的困难之外,还有一个工具不匹配的问题

因此,在某些情况下:您可能需要原始源代码,因为您无法从它生成的html输出中重新创建Rmd。

简而言之,不是

二进制文件几乎完全是令人惊叹的,我使用它例如将
Rd
文件的
html
输出转换回markdown(将包含在其他markdown文档中)

但这用于它所知道的:从markdown转换为html等。它本身对R一无所知。因此,除了从它创建的输出中获取代码这一形而上学的困难之外,还有一个工具不匹配的问题


因此,在某些情况下:您可能需要原始源代码,因为您无法从它生成的html输出中重新创建Rmd。

以下是我使用的解决方案:

  • 将.html转换为.md:
  • 将.md重命名为.rmd
  • 对代码进行后期处理,以组织块和段落
  • 添加YAML标题

当然,您可以将这些行放在.sh中以简化任务

以下是我使用的解决方案:

  • 将.html转换为.md:
  • 将.md重命名为.rmd
  • 对代码进行后期处理,以组织块和段落
  • 添加YAML标题
当然,您可以将这些行放在.sh中以简化任务

:~$##convert.html to.md:
:~$pandoc Assessment-Week2B.html-o Assessment-Week2B.md
:~$ 
:~$##将.md重命名为.rmd
:~$mv Assessment-Week2B.md Assessment-Week2B.rmd
:~$ 
:~$##通过RStudio编辑
:~$rstudio评估-Week2B.Rmd
试图通过终端修改如下短MV,但通过RStudio修改会更容易

:~$##将.html转换为.md:
:~$pandoc Assessment-Week2B.html-o Assessment-Week2B.md
:~$ 
:~$##将.md重命名为.rmd
:~$mv Assessment-Week2B.md Assessment-Week2B.rmd
:~$ 
:~$##通过RStudio编辑
:~$rstudio评估-Week2B.Rmd
试图通过终端修改如下短MV,但通过RStudio修改会更容易


似乎有可能,但困难重重。到目前为止你尝试了什么?从哪里获得数据?看起来可能,但很难。到目前为止,您尝试了什么?它将从何处获取数据?Markdown看起来不错,但缺少rmd文件的完全可执行性Markdown看起来不错,但缺少rmd文件的完全可执行性
mv test.md test.rmd
# chunks r marker: replace ' {\.sourceCode \.r}' by '{r}'
sed -i 's/ {\.sourceCode \.r/{r/' test.rmd
# delete lines beginning wit ':::'
sed -i '/^:::/d' test.rmd
# delete lines beginning '![](data:image' (html plot)
sed -i '/^\!\[\](data:image/d' test.rmd
# delete paragraph separator lines
sed -i '/^=====/d' test.rmd
sed -i '/^-----/d' test.rmd
# replace paragraph marks
#'[1]{.header-section-number}' by '#'
sed -i 's/\[[0-9]\+\]{\.header-section-number}/#/' test.rmd
#'[1.1]{.header-section-number}' by '##'
sed -i 's/\[[0-9]\+\.[0-9]\+\]{\.header-section-number}/##/' test.rmd
#'[1.1.1]{.header-section-number}' by '###'
sed -i 's/\[[0-9]\+\.[0-9]\+\\.[0-9]\+]{\.header-section-number}/###/' test.rmd
echo "$(echo -e "\n" | cat - test.rmd)" > test.rmd
echo "$(echo '---' | cat - test.rmd)" > test.rmd
echo "$(echo 'title: '\"'test'\" | cat - test.rmd)" > test.rmd
echo "$(echo '---' | cat - test.rmd)" > test.rmd