Knitr chunk正在从*.csv导入记录子集,与R中的代码相同
Rstudio版本0.96.331和knitr版本0.8 我想我的问题已经通过RStudio和库的更新解决了。。。然而: 下面的R运行为我提供了940个唯一的Table.ID值。在knitr块中运行,我得到228个唯一值和以下警告: “在输入连接“”上找到无效输入” 我不明白为什么这两种方法之间存在区别Knitr chunk正在从*.csv导入记录子集,与R中的代码相同,r,knitr,R,Knitr,Rstudio版本0.96.331和knitr版本0.8 我想我的问题已经通过RStudio和库的更新解决了。。。然而: 下面的R运行为我提供了940个唯一的Table.ID值。在knitr块中运行,我得到228个唯一值和以下警告: “在输入连接“”上找到无效输入” 我不明白为什么这两种方法之间存在区别 Sequence <- read.csv("http://www2.census.gov/acs2010_5yr/summaryfile/Sequence_Number_and_Table
Sequence <- read.csv("http://www2.census.gov/acs2010_5yr/summaryfile/Sequence_Number_and_Table_Number_Lookup.txt",
stringsAsFactors=FALSE)
unique(Sequence$Table.ID)
Sequence在Rstudio版本0.96.331
和knitr版本0.8
我的.Rmd
文件:
knitr test for length
========================================================
This should successfully return a length of 940
```{r}
Sequence <- read.csv("http://www2.census.gov/acs2010_5yr/summaryfile/Sequence_Number_and_Table_Number_Lookup.txt",
fileEncoding = "iso8859-8", stringsAsFactors = FALSE)
length(unique(Sequence$Table.ID))
```
knitr长度测试
========================================================
这将成功返回940的长度
```{r}
排序您使用的是哪个版本的rstudio
和knitr
?请使用sessionInfo()
的输出更新您的问题,现在使用fileEncoding
参数进行尝试(见下面更新的答案)。成功了!谢谢。现在,您知道为什么必须在knitr中使用fileEncoding参数而不是在控制台中使用fileEncoding参数的任何文档吗?@MichaelWilliams这是因为RStudio设置了选项(encoding='UTF-8')
在调用knitr
之前。这可能值得向RStudio开发人员报告,或者您可以重置为默认的选项(encoding='native.enc')
在读取文件之前。正如您所说,将文件编码设置为read.csv
是解决方案。对我有效的值是native.enc
,我通过在交互式会话中运行getOption(“encoding”)
找到它。knitr
将其更改为UTF-8
。