2

更新 3: fileEncoding パラメーターの設定と function の使用を緊密に調整することで問題を修正したようです。slidify with に加えて slidifyslidify(file.Rmd, encoding="UTF-8")のブランチを含める必要があったため、上記のリンクが役立ちますが、メインに含める必要があります。おそらくすぐに設定されます。アーカイブの目的でこれをここに保持します。それを修正した正確なことは言えませんが、デフォルトのエンコーディングがいくつかの問題を引き起こしているように見えたので、問題はおそらくスクリプトファイルとは異なるエンコーディングの入力ファイルが原因でした. 正確に何が起こったのかはまだわかりませんが、slidify のメンテナーである Ramnathv がこれらすべての議論に積極的に参加してくれたことに感謝し、驚いています。この修正の話は、上記のリンクにもあります。fix-encodeinstall_github('ramnathv/slidify@fix_encode')

この投稿はアーカイブ目的でオンラインに残しておきます。おそらく、他の誰かが私がいた場所と非常によく似た状況に陥る可能性があります。

更新 2:以前は slidify でのエンコードに問題がありましたが、そのうちのいくつかは解決されています。詳細については、https ://github.com/ramnathv/slidify/issues/377 、http://kohske.github を参照してください。 io/ESTRELA/201412/index.htmlhttps: //github.com/ramnathv/slidify/issues/373、https ://github.com/Koalha/landslide/blob/master/index.Rmd

更新:この問題は、utf-8 文字を含むファイルを開くときに発生するようです。テキストr "õ,ä,ü"内のコード ブラケット内の記述は正常に機能しているように見えますが、utf-8 文字を含む変数を含むファイルを開くと、スクリプトで問題が発生します。これらの問題は、knitr を使用して html5 にコンパイルする場合には発生しません。2つの違いが何であるか知っている人はいますか?

key <- read.csv("key1.csv", header = TRUE, sep = ";", 
        quote = "\"", dec = ".", fill = TRUE, comment.char = "")
print(key)

パラメーターの追加とエンコード、または fileEncoding は役に立たなかったようで、html Knitr はそれを必要としないようです。

編集:まだ解決されていませんが、状況の原因に近づいている可能性があります。Rmd 自体は UTF-8 として保存されていましたが、使用されていたデータセットの多くはストレージ上で ANSI に戻されていました。おそらく、混合ファイルタイプの問題です。最良のケースでは、正しくエンコードされた文字でslidify(file.Rmd, encoding="UTF-8")をコンパイルしているように見えますが、.mdデータ処理中にエンコードの不一致によるエラーが既に発生しています。これらの問題は、通常の Knitr Rmd から html への変換では発生しませんでした。

HTML Rmarkdown ドキュメントを ioslides タイプの Rmarkdown ドキュメントに変換する作業を行っていますが、予期しない問題に遭遇しました。ドキュメントは通常の Knitr 構築では問題なく動作しますが、slideify のまったく同じコード、環境、およびディレクトリで文字エンコーディングの問題が発生するようです。

つまり、非ラテン文字 (ä、ü、ö など) を含む変数に遭遇すると、knitr がクラッシュするように見え、これらの文字を含むテキストを出力すると、"?" に置き換えられます。長方形。

Claas-Thido Pfaff の例に基づいたセットアップを使用しています: http://cpfaff.github.io/reproducibility/。ロケールを指定または変更する場所をまだ見つけていません (まったく同じドキュメントが html 出力で正常に機能するためです。

---
title       : Reproducible Reports
subtitle    : With R, Knitr, LaTeX and Markdown 
author      : Claas-Thido Pfaff 
job         : http://cpfaff.github.io/reproducibility
framework   : io2012        # {io2012, html5slides, shower, dzslides, ...}
highlighter : highlight.js  # {highlight.js, prettify, highlight}
hitheme     : tomorrow      # 
widgets     : [mathjax, bootstrap]            # {mathjax, quiz, bootstrap}
mode        : selfcontained # {standalone, draft}
knit        : slidify::knit2slides
github      :
  author    : changed
  repo      : reproducibility
---

```{r echo = FALSE, include = F, eval = T}
require(knitr)
hook_source_def = knit_hooks$get('source')
knit_hooks$set(source = function(x, options){
  if (!is.null(options$verbatim) && options$verbatim){
    opts = gsub(",\\s*verbatim\\s*=\\s*TRUE\\s*", "", options$params.src)
    bef = sprintf('\n\n    ```{r %s}\n', opts, "\n")
    stringr::str_c(bef, paste(knitr:::indent_block(x, "    "), collapse = '\n'), "\n    ```\n")
  } else {
     hook_source_def(x, options)
  }
})

require(ggplot2)
```

何か案は?ありがとう!

4

1 に答える 1

0

@Nisse-Engström の推奨に従って、元の質問の更新ではなく、最終的な解決策を回答として投稿します。フィックス エンコードは、今ではメインの slideify パッケージに統合されているはずです。

fileEncoding パラメータの設定と function の使用を緊密に調整することで問題を修正したようです。slidify with に加えて slidifyslidify(file.Rmd, encoding="UTF-8")のブランチを含める必要があったため、上記のリンクが役立ちますが、おそらく非常にメイン セットに含める必要があります。すぐ。アーカイブの目的でこれをここに保持します。それを修正した正確なことは言えませんが、デフォルトのエンコーディングがいくつかの問題を引き起こしているように見えたので、問題はおそらくスクリプトファイルとは異なるエンコーディングの入力ファイルが原因でした. 正確に何が起こったのかはまだわかりませんが、これらすべての議論に積極的に参加してくれた slidify のメンテナーである Ramnathv に感謝し、驚いています。この修正の話は、上記のリンクにもあります。fix-encodeinstall_github('ramnathv/slidify@fix_encode')

于 2016-11-15T13:37:10.170 に答える