我想要的是使用R,Markdown和knitr在PDF文件或html文件中打印漂亮的交叉制表,来自RStudio.我怀疑我错过了一些非常明显的东西,因为我无法相信这是如此困难.我使用xtabs或ftable制作交叉表.
我想要的是像R控制台输出的精美印刷版本.
> x
Col
Row A B C
D 15 9 7
E 13 14 9
F 8 8 17
> f
Col A B C
Row
D 15 9 7
E 13 14 9
F 8 8 17
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几种不同的解决方案,其中没有一种真正有效,并且显示在附带的.Rmd文件中.(我尝试过pdf和html输出.)
---
title: "trial"
author: "Anthony Staines"
date: "26/08/2014"
output: html_document
---
# Make the data
```{r, echo=TRUE,results='asis',message=FALSE}
library(knitr)
library(memisc)
library(xtable)
library(stargazer)
library(texreg)
set.seed(893)
Col <- sample(c('A','B','C'),100,replace=TRUE)
Row <- sample(c('D','E','F'),100,replace=TRUE)
```
```{r, echo=TRUE,results='asis',message=FALSE}
x <- xtabs(~Row+Col)
x
kable(x)
kable(x,format='html')
kable(x,format='html',output …Run Code Online (Sandbox Code Playgroud) 我正在问这个经常被问及回答问题的小砖墙,但不是微不足道的砖墙.
我在Linux上使用Rstudio 0.97.336和R 3.0.0.我正在制作一个(更复杂的)图表来填写论文.标题和x/y标签的默认大小太小,无法轻松阅读.然而,如果我将图像保存为PNG文件,使用element_text主题上的主题函数(axis.title.y = element_text(size = rel(1.8))修复此问题的明显方法不起作用.但它确实有效正如预期的那样,当我在看RStudio中的图像时.下面的代码完全重现了我的问题.
##Libraries
library(ggplot2)
set.seed(15612)
##Generate data
Year <- seq(2000,2010)
data <- -2*(Year - 2005) + 10 + runif(11,min=-3,max=3)
Title <- "Title for our graph"
xlab <- "X label"
ylab <- "Y label"
df <- data.frame(Year,data)
##Plot
##First image with small title, xlab, ylab
image1 <- ggplot(df) +
geom_line(aes(x=Year,y=data)) +
theme_bw() +
labs(title=Title,xlab=xlab,ylab=ylab)+
theme(panel.border = element_rect(fill = NA, colour="grey70"))
image1
ggsave("Image1.png",image1, width=15,height=10,units='cm')
##Second image with larger title, xlab, ylab
image2 <- image1 +
theme(axis.title.y …Run Code Online (Sandbox Code Playgroud) 这不是关于更改使用RStudio生成的图形中的字体大小的问题.我已经知道该怎么做了.
我在Linux下在带有"视网膜"显示屏的MacBook Pro上使用RStudio.我使用KDE作为我的窗口管理器.我可以(并且确实)扩大KDE中其他程序的用户界面中的默认字体大小.我使用特定于程序的工具增加了Firefox和Thunderbird中用户界面的字体大小.
如何增加用户界面中的字体大小- 而不是控制台,这很容易[选项 - >外观 - >字体大小],但是,例如,帮助文本,键盘快捷键列表等.目前我发现这些很难阅读.我摆弄着我可以摆弄的一切,但没有快乐.
感谢所有帮助!
我想从数据框中选择所有数字列,然后选择所有非数字列.一个显而易见的方法是: -
mtcars %>%
select_if(is.numeric) %>%
head()
Run Code Online (Sandbox Code Playgroud)
这完全符合我的预期.
mtcars %>%
select_if(!is.numeric) %>%
head()
Run Code Online (Sandbox Code Playgroud)
这不会,并产生错误消息错误!is.numeric:无效的参数类型
看另一种做同样事情的方法: -
mtcars %>%
select_if(sapply(., is.numeric)) %>%
head()
Run Code Online (Sandbox Code Playgroud)
效果很好,但是
mtcars %>%
select_if(sapply(., !is.numeric)) %>%
head()
Run Code Online (Sandbox Code Playgroud)
失败并显示相同的错误消息.(purrr :: keep表现完全相同).
在这两种情况下使用-删除不需要的列也会失败,与上面的is.numeric版本的错误相同,并且此错误消息为sapply版本错误:无法将整数向量转换为函数.
is.numeric的帮助页面说
is.numeric是一个内部泛型原语函数:您可以编写处理特定类对象的方法,请参阅InternalMethods....如果类的基类型是double或integer,并且值可以合理地视为数值,则is.numeric的方法应该只返回true(例如,对它们的算术是有意义的,并且应该通过基类型进行比较) .
帮助页面!说
值
对于!,与x相同长度的逻辑或原始向量(对于原始x):名称,dims和dimnames是从x复制的,如果没有强制,则复制所有其他属性(包括类).
在dplyr管道中查看有用的问题Negation !,%>%我可以看到为什么这不起作用的一些原因,但是没有一个解决方案表明它有效.
mtcars %>%
select_if(not(is.numeric())) %>%
head()
Run Code Online (Sandbox Code Playgroud)
给出合理的错误 is.numeric()中的错误:传递给'is.numeric'的0个参数需要1.
mtcars %>%
select_if(not(is.numeric(.))) %>%
head()
Run Code Online (Sandbox Code Playgroud)
失败并出现此错误: - tbl_if_vars中的错误(.tbl,.predicate,caller_env(),. include_group_vars = TRUE):length(.p)== length(tibble_vars)不为TRUE.
这种行为绝对违反了最不惊讶的原则.这对我来说并不重要,但它表明我没有理解一些更基本的观点.
有什么想法吗?