小编Ren*_*ern的帖子

使用knitr和Rstudio自动调整LaTeX表格宽度以适合pdf

使用Rstudio和knitr以pdf格式生成乳胶表,如何使宽表适合页面?我基本上都在寻找缩小表格的方法.

使用数字,在Knitr中使用out.width =非常容易,但是使用表格我似乎无法找到方法.

有什么建议?

\documentclass{article}

\begin{document}
Run Code Online (Sandbox Code Playgroud)

下表太宽,不适合pdf.我希望有一种简单的方法可以缩小它们以适应它们.在这个例子中,我使用了从xtable(),stargazer()和latex()函数生成的表.

<<message=FALSE>>=
library(xtable)
library(stargazer)
library(Hmisc)
library(tables)
wide.df <- cbind(iris[1:10,],iris[1:10,],iris[1:10,])

@



<<results='asis'>>=
xtable(wide.df)
@


<<results='asis'>>=
stargazer(wide.df,summary=FALSE)
@


<<results='asis'>>=
latex( tabular( Species ~  (Sepal.Length +Sepal.Length +  Sepal.Width +   Petal.Length  +  Petal.Width  )*(mean + sd + mean + mean )          , data=iris)            )

@




\end{document}
Run Code Online (Sandbox Code Playgroud)

遵循Stat-R的建议我尝试使用resizebox但无法使其工作:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
Run Code Online (Sandbox Code Playgroud)

我试过使用reshapebox,但我真的对如何让它在Rstudio/knitr中工作毫无头绪:

<<message=FALSE>>=
library(xtable)
wide.df <- cbind(iris[1:10,],iris[1:10,],iris[1:10,])
@

\resizebox{0.75\textwidth}{!}{%
<<results='asis'>>=
xtable(wide.df)
@
%}

\end{document}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

! File ended while scanning use of \Gscale@box@dd.


sessioninfo()

R version 3.0.0 (2013-04-03)
Platform: …
Run Code Online (Sandbox Code Playgroud)

latex r rstudio knitr

26
推荐指数
3
解决办法
3万
查看次数

行来自Hmisc包中的summary()生成的crosstable的百分比

我一直在努力学习使用Hmisc-package中的summary()函数来生成包含chisquared测试的crosstables.在这个董事会的帮助下,我几乎就在那里.我只是无法弄清楚如何获得行百分比而不是列百分比.

#Data:
v1 <- sample(letters[8:12],200,replace=TRUE)
v2 <- sample(letters[1:2],200,replace=TRUE)
month <- sample(month.name[7:9],200,replace=TRUE)
df <- data.frame(v1,v2,month)

#Table:
latex(    summary( month  ~ v1 + v2 , data=df,  method="reverse" ,test=TRUE),        exclude1=FALSE,file="",booktabs=TRUE,long=TRUE)
Run Code Online (Sandbox Code Playgroud)

哪个让我这个: 在此输入图像描述

这让我获得了列百分比.我正在寻找一种方法来扭转它,所以我得到行百分比.我一直在搜索Hmisc文档中的"行"和"列"和"百分比",但没有运气.summary.formular()函数有可选的参数"fun"但是让我做它的行百分比......

请帮忙

row r crosstab percentage hmisc

7
推荐指数
1
解决办法
1463
查看次数

创建不同长度的分类变量的汇总表

在SPSS中,使用"自定义表"创建分类变量的摘要表非常容易:

此示例来自SPSS

我怎么能在R中这样做?

一般和可扩展的解决方案是首选,使用Plyr和/或Reshape2包的解决方案,因为我试图了解这些.

示例数据:( mtcars在R安装中)

df <- colwise(function(x) as.factor(x) ) (mtcars[,8:11])
Run Code Online (Sandbox Code Playgroud)

PS

请注意,我的目标是将所有内容放在一张桌子中,如图所示.我已经玩了好几个小时,但我的尝试一直很糟糕,发布代码可能不会增加问题的可理解性.

r summary count spss

6
推荐指数
2
解决办法
5875
查看次数

从逻辑回归列表中提取系数的所有标准误差

我想从逻辑回归模型列表中提取标准错误.

这是逻辑回归函数,以这种方式设计,因此我可以同时运行多个分析:

glmfunk <- function(x) glm(  ldata$DFREE ~  x , family=binomial)
Run Code Online (Sandbox Code Playgroud)

我在数据帧ldata中的变量子集上运行它:

glmkort <- lapply(ldata[,c(2,3,5,6,7,8)],glmfunk)
Run Code Online (Sandbox Code Playgroud)

我可以像这样提取系数:

sapply(glmkørt, "[[", "coefficients")
Run Code Online (Sandbox Code Playgroud)

但是我如何提取系数的标准误差?我似乎无法在str(glmkort)中找到它?

这是AGE的str(glmkort),我正在寻找标准错误:

str(glmkort)
List of 6
 $ AGE    :List of 30
  ..$ coefficients     : Named num [1:2] -1.17201 -0.00199
  .. ..- attr(*, "names")= chr [1:2] "(Intercept)" "x"
  ..$ residuals        : Named num [1:40] -1.29 -1.29 -1.29 -1.29 4.39 ...
  .. ..- attr(*, "names")= chr [1:40] "1" "2" "3" "4" ...
  ..$ fitted.values    : Named num [1:40] 0.223 0.225 0.225 0.225 0.228 …
Run Code Online (Sandbox Code Playgroud)

r standard-error logistic-regression coefficients

4
推荐指数
1
解决办法
3301
查看次数

使用as.numeric将数据帧中的因子子集转换为数字(级别(f))[f]

我有一个包含100个变量的数据框,其中我想要一个子集,比如dataframename [,30:50]要转换为它们的原始数值(1,2,3,4,5).

我知道我应该as.numeric(levels(f))[f]在转换因子时使用,但我只能在一次转换因子时才能使用.我想立刻转换它们.

这不会工作:

as.numeric(levels(dataframename[,30:50]))[dataframename[,30:50]]  
Run Code Online (Sandbox Code Playgroud)

这也不会:

sapply(dataframename[,30:50],as.numeric(levels(dataframename[,30:50]))    
[dataframename[,30:50]]  
Run Code Online (Sandbox Code Playgroud)

我应该阅读的任何想法或内容?

syntax r

3
推荐指数
1
解决办法
3463
查看次数