创业研究中从R Studio导出回归与汇总表格至LyX的方法及大数据集分享替代方案咨询
解决方案:R回归表导入LyX + 大数据集样本分享
一、将R回归表格导入LyX的具体流程
你的代码里已经用到了stargazer包,这正好是生成学术规范LaTeX表格的利器,而LyX对LaTeX有完美支持,具体操作步骤如下:
生成LaTeX格式的回归表
修改你代码中stargazer的调用参数,把type='text'改成type='latex',还可以通过out参数将表格保存为独立的.tex文件,方便后续导入:# 针对model.all.high生成LaTeX表格并保存 stargazer(model.all.high, title="Results for all_high_stat_entre", type='latex', out="regression_high_entre.tex") # 对另外两个模型做同样修改 stargazer(fwd.model, title="Forward Stepwise Model Results", type='latex', out="regression_fwd.tex") stargazer(fwd.model.fail, title="Results for all_fear_fail", type='latex', out="regression_fail.tex")在LyX中导入LaTeX表格
- 打开你的LyX文档,点击菜单栏的
Insert > File > Child Document - 选择刚才生成的
.tex文件,在弹出的对话框中勾选「Input」选项(选Input会直接嵌入表格,保证格式和学术规范一致) - 点击确定后,表格就会无缝嵌入到LyX文档中
- 打开你的LyX文档,点击菜单栏的
快速粘贴法(无需保存文件)
如果不想生成单独文件,直接在R控制台运行stargazer(..., type='latex'),复制输出的LaTeX代码,然后在LyX中:- 按下快捷键
Ctrl+L切换到LaTeX源代码视图 - 粘贴代码后再按
Ctrl+L切回可视化视图,表格就会显示出来
- 按下快捷键
二、大数据集样本分享的替代方法
当dput(head(GemData,10))输出太大时,试试这些更高效的方式:
保存小样本到CSV文件
把数据集的前N行(比如20行)保存为CSV,文件体积小,方便分享:write.csv(head(GemData, 20), "GemData_sample.csv", row.names = FALSE)其他人可以用
read.csv("GemData_sample.csv")快速查看样本结构和数据格式。输出数据集结构信息
用str()或glimpse()展示变量类型、样本量等核心信息,不需要输出具体数据:# 基础结构输出 str(GemData) # 更紧凑的展示(需要dplyr包) library(dplyr) glimpse(GemData)输出变量统计描述
用summary()或skimr包展示变量的统计特征,帮助他人理解数据分布:# 基础统计量 summary(GemData) # 更详细的统计报告(需要skimr包) library(skimr) skim(GemData)
你的原始R代码
## you need the 'haven' package for loading a .dta file library(haven) GemData <- read_dta("C:/Users/ILIAS/Documents/Bachelors Thesis/GEM Dataset.dta") #### Stepwise Regression for y1 = 'all_high_stat_entre' and y2 = 'all_fear_fail' #### library(MASS) index<-which(is.na(GemData$all_high_stat_entre)==F) n = nrow(GemData) r<-NULL for(i in 2:n){ r[i-1]=cor(GemData$all_high_stat_entre[index],GemData[index,i]) } index.r<-which(is.na(r)==F) ## 'res' is that number of column which the response 'all_high_stat_entre' ## res = which(r==1) #--------------------------------------------------------------------------------------- index_fail<-which(is.na(GemData$all_fear_fail)==F) r_fail<-NULL for(i in 2:n){ r_fail[i-1]=cor(GemData$all_fear_fail[index_fail],GemData[index_fail,i]) } index.r.fail<-which(is.na(r_fail)==F) ## 'res.fail' is that number of column which the response 'all_fear_fail' ## res.fail = which(r_fail==1) #### Stepwise regression of 'all_high_stat_entre' #### index.r.mod = index.r[-res] index.r.mod.1=which(abs(r)>0.3) n.all_high = length(index.r.mod.1) data.subset=GemData[index,index.r.mod.1] data.subset[,(n.all_high + 1)]=GemData$all_high_stat_entre[index] colnames(data.subset)=c(names(data.subset)[1:19],"all_high_stat_entre") ## fit a full model full.model <- lm(all_high_stat_entre~.,data=data.subset) min.model <- lm(all_high_stat_entre~1,data=data.subset) ## ols_step_all_possible(full.model) library(olsrr) ols_step_forward_p(full.model) model.all.high = lm(all_high_stat_entre ~ all_entre_des+all_estab_bus_age2+all_est_bus_fem+all_fut_startbus+all_startbus_job+all_know_entre+all_est_bus_sect4,data=data.subset) summary(model.all.high) stargazer(model.all.high, title="Results",type='text') fwd.model <- stepAIC(min.model, direction='forward', scope=(~all_entre_des+all_estab_bus_age2+all_est_bus_fem+all_fut_startbus+all_startbus_job+all_know_entre+all_est_bus_sect4),data=data.subset) library(stargazer) stargazer(fwd.model, title="Results",type='text') #-------------------------------------------------------------------------------------------- #### Modeling for the response 'all_fear_fail' #### index.r.mod.fail = index.r[-res.fail] index.r.mod.fail.1=which(abs(r_fail)>0.3) n.all_fail = length(index.r.mod.fail.1) data.subset.fail=GemData[index_fail,index.r.mod.fail.1] data.subset.fail[,(n.all_fail + 1)]=GemData$all_fear_fail[index_fail] colnames(data.subset.fail)=c(names(data.subset.fail)[1:(n.all_fail)],"all_fear_fail") ## fit a full model full.model.fail <- lm(all_fear_fail~.,data=data.subset.fail) min.model.fail <- lm(all_fear_fail~1,data=data.subset.fail) ## ols_step_all_possible(full.model) library(olsrr) ols_step_forward_p(full.model.fail) fwd.model.fail <- stepAIC(min.model.fail, direction='forward', scope=(~all_per_cap+all_know_entre+all_per_opp),data=data.subset.fail) library(stargazer) stargazer(fwd.model.fail, title="Results" , type='text')
内容的提问来源于stack exchange,提问作者ilaias zark HD
相关产品推荐
相关产品推荐

