2012-12-03 22 views
-1

我不能得到与Hmisc::latexsapply函数的表。 latex返回很多表。我想使用Hmisc::latex,因为它更灵活可配置。Hmisc ::乳胶与sapply和htest级产生很多表

步骤来重现问题:

library(xtable) 
library(Hmisc) 
library(nortest) 
set.seed(1) 
x <- matrix(rnorm(10*100), nrow=100) 
norm.x <- sapply(x, sf.test)[1:2,] 
latex(norm.x, file="", dec=2) 
xtable(norm.x) # In contrast xtable produce pretty output 

编辑:

解决方案(感谢斯文海恩斯坦):

library(Hmisc) 
library(nortest) 
set.seed(1) 
x <- matrix(rnorm(10*100), nrow=100) 
norm.x <- sapply(x, function(z) unlist(sf.test(z)[c("statistic", "p.value")])) 
latex(norm.x, file="", dec=2) 

回答

1

您可以修改通过sapply(x, sf.test)[1:2,]与返回的对象norm.x功能unlistmatrix

norm.x <- matrix(unlist(norm.x), nrow = 2, dimnames = list(c("w", "p-value"))) 

的完整代码:

library("xtable") 
library("Hmisc") 
library("nortest") 
set.seed(1) 
x <- data.frame(replicate(10, rnorm(100))) 
norm.x <- sapply(x, sf.test)[1:2,] 
norm.x <- matrix(unlist(norm.x), nrow = 2, dimnames = list(c("w", "p-value"))) 
latex(norm.x, file="", dec=2) 
xtable(norm.x) 
+0

感谢您的提示。但我转置'norm.x',因为它包含许多列。使用转置变体'dec = 3'选项不起作用。 –

+0

@unikum查看我答案的更新。 –