【问题标题】:Knitr produces only half of plotKnitr 只生产一半的地块
【发布时间】:2016-04-03 12:42:21
【问题描述】:

我在最终制作 .md.html 文件时遇到问题:

应该包含 2 个方面的情节出现在 .md 中只有一个。

相同的 R 脚本产生正确的绘图。我试过latticeggplot2 系统-结果是一样的:情节在Rstudio (Mac) 中是正确的,在.md.html 中丢失了1 个方面。

library(lattice)
xyplot(steps ~ interval | day_type, data = mean_tsd_final, layout = c(1, 2),
       type="l", xlab = "Interval", ylab = "Number of steps")

> str(mean_tsd_final)
'data.frame':   576 obs. of  3 variables:
 $ interval: int  0 5 10 15 20 25 30 35 40 45 ...
 $ day_type: Factor w/ 2 levels "weekday","weekend": 1 1 1 1 1 1 1 1 1 1 ...
 $ steps   : num  2.251 0.445 0.173 0.198 0.099 ...

由R-script制作

由knitr由相同的代码制作

【问题讨论】:

  • 添加到问题中,谢谢!
  • 是的,我的意思是mean_tsd_final,但你明白了。我还指的是dput 而不是str,因为这有助于我们输入您的数据。但是从str,我猜你在knitr中绘图时有一个子集——你看到day_type是一个有两个级别的因子,但是当你有一个有两个级别的因子时我可以重现这个图但只有数据中存在一个级别
  • 两个级别的因子都出现了...
  • 最后,我找到了解决方案。问题在于当地语言偏好。在 R 脚本中,我覆盖了系统默认值并将其设置为英语、UTF8,并且我没有将这部分代码包含到 .rmd 文件中。这就是为什么将工作日函数的结果划分为工作日和周末的函数无法正常工作并且仅产生 1 个因子水平的原因。现在好啦。谢谢你,rawr,在你的回复之后,我检查了是否有 2 级因子变量不仅在 r-script 中,而且在 markdown 文件中:)
  • 您应该演示并添加答案并接受它

标签: r plot knitr lattice


【解决方案1】:

所以,答案是: 设置本地首选项的代码:

## To set it in english
Sys.setlocale("LC_TIME","en_US.UTF-8")

它很重要,因为我们使用字符串比较来产生因子变量。 这是making mean_td_final数据框的代码:

##Adding column with type of the day
Activity_data_filled$day_type <- weekdays(as.Date(Activity_data_filled$date))
Activity_data_filled$day_type <- ifelse(Activity_data_filled$day_type %in% c("Saturday", "Sunday"),"weekend", "weekday")
Activity_data_filled$day_type <-as.factor(Activity_data_filled$day_type)

##Aggegating by type of the day and time intervals
mean_tsd_final <- aggregate(Activity_data_filled$steps,
                       by=list(Activity_data_filled$interval,
                               Activity_data_filled$day_type),mean)

在不覆盖本地设置的情况下,ifelse 函数仅生成 1 级“工作日”,因为它将字符串“星期六”和“星期日”与由 weekdays 函数生成的本地日期名称进行比较。 (在我的情况下是俄语)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2023-03-23
    • 2021-08-23
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    相关资源
    最近更新 更多