переменная метки для извлечения Stargazer - PullRequest
0 голосов
/ 26 октября 2018

Я использую stargazer для извлечения некоторых таблиц регрессии в латексе. Я хотел бы знать, существует ли способ пометить переменные один раз для всех без необходимости переопределять его через " covariate.labels = ... " каждый раз. Я попробовал библиотеку expss Hmisc ), например:

library(expss)
library(stargazer)

df <- data.frame(replicate(2,sample(0:1,100,rep=TRUE)))

df = apply_labels(df,
                  X1 =  "label x1",
                  X2 = " label x2")

ols <- lm(formula = X1 ~ X2,
          data= df)

stargazer(ols, 
          # covariate.labels = NULL, 
          title = "Regression Results",
          label = "tab:test",
          out="test.tex")

без успеха ... любое предложение?

1 Ответ

0 голосов
/ 26 октября 2018

Решение с expss use_labels:

library(expss)
library(stargazer)

df <- data.frame(replicate(2,sample(0:1,100,rep=TRUE)))

df = apply_labels(df,
                  X1 =  "label x1",
                  X2 = " label x2")

ols <- use_labels(df, lm(formula = X1 ~ X2))

res <- stargazer(ols, 
          # covariate.labels = NULL, 
          title = "Regression Results",
          label = "tab:test",
          out="test.tex")

# quick and dirty workaround for removing backticks  
remove_backticks = function(text){
    text = gsub("([^A-z]+)`", "\\1", text, perl = TRUE)
    text = gsub("`([^A-z]+)", "\\1", text, perl = TRUE)
    text = gsub("(^`)|(`$)", "", text, perl = TRUE)
    text
}


res = remove_backticks(res)

writeLines(res, "test.tex")
...