"d", "n", "beta", "family", "alpha"및 "value"라는 이름의 data.frame이 있습니다. Hmisc::latex
으로 LaTeX 테이블을 만들고 싶습니다. 처음 세 개의 열에는 해당 행 이름을 나타내는 변수 "d", "n"및 "beta"가 있습니다. 다른 변수 ("family", "alpha")는 나머지 열에 표시되어야합니다 ("F1"및 "F2"- 가족 요소는 그룹을 정의하고,이 두 그룹 각각에 대해 다른 알파 값은 열을 정의하며, 전체적으로 2 * 3 = 6 열에 해당 "값"이 포함됩니다. 여기에 지금까지 무엇을 가지고 :Hmisc의 latex() : 예상대로 작동하지 않습니다. 가짜 빈 열; 그룹으로 그룹을 만드는 방법?
## running parameters
nn <- length(n <- c(100, 500)) # sample sizes
nd <- length(d <- c(10, 100, 1000)) # dimensions
nfamily <- length(family <- c("F1", "F2")) # families
nbeta <- length(beta <- c(0.25, 0.75)) # betas
nalpha <- length(alpha <- c(0.95, 0.99, 0.999)) # alphas
## create array containing the results
res <- array(NA, dim=c(nn, nd, nfamily, nbeta, nalpha),
dimnames=list(n=n, d=d, family=family, beta=beta, alpha=alpha))
set.seed(1)
for(i in 1:nn){
for(j in 1:nd){
for(k in 1:nfamily){
for(l in 1:nbeta){
for(m in 1:nalpha){
res[i,j,k,l,m] <- i+j+k+l+m+runif(1) # some dummy values
}
}
}
}
}
## create a data.frame from the array of values
df <- as.data.frame.table(res, responseName="value")
## sort it according to the variables you want to display in the rows and bring the
## corresponding columns to the front/beginning
row.vars <- c("d", "n", "beta") # specify row variables
df. <- df[with(df, do.call(order, sapply(row.vars, as.name))), # sort rows
c(row.vars, setdiff(names(df), row.vars))] # sort colums
## format numbers, set unwanted row names to NA
df.. <- df.
df..$value <- formatC(df.$value, digits=3, format="f")
names2NA <- function(x) {x[c(FALSE, x[-1]==x[-length(x)])] <- NA; x} # arg = TRUE <=> entry equal to previous one
for(j in 1:length(row.vars)) df..[, row.vars[j]] <- names2NA(df..[, row.vars[j]])
## now use Hmisc's latex()
require(Hmisc)
latex(df.., title="title",
file="",
label="tab:res",
cgroup=c("family", "alpha"),
na.blank=TRUE, # use blanks rather than NA => not working (see first columns)!
rowname=NULL,
colheads=c("Family", "alpha"), # character() specifying column headings
dcolumn=TRUE,
booktabs=TRUE,
caption="My table containing all results.",
caption.loc="bottom",
collabel.just=rep("c", 2),
where="htbp",
center="centering",
type="verbatim",
helvetica=FALSE
)
내 질문은 다음과 같습니다
1) 왜 처음 세 개의 열에서 NAS의 공백으로 대체되지 않는() na.blank=TRUE
의 경우해야으로는?
2) emtpy 네 번째 열이 삽입되는 이유는 무엇입니까?
3) "family"및 "alpha"변수를 위에서 설명한대로 그룹의 그룹으로 가져 오는 방법은 무엇입니까? 한편
업데이트, 나는 행렬에 data.frame을 변환 할 수 있었다. 난 단지 1
분명히는 TRUE na.blank = 단지 숫자 컬럼에 적용 질문에 대한 답변이 Hmisc: How to group column variables with latex()?