我有一个lm模型,一个vif函数的数值向量和一些字符变量。
gvmodel<-gvlma(lmFit)
VIF<-sqrt(vif(lmFit))
Str1<-"Original R-square=".567"
Str2<-"Cross-validated R-Square=.123"
我想将所有内容打印到一个txt文件中。我尝试了cat
和capture.output
。
cat(gvmodel,VIF,Str1, file="E:/.../text.txt")
capture.output(paste(gvmodel,VIF,...,sep=""),file="E:/.../text.txt")
显然这没有用。任何人如何将它们打印到单个txt文件中?谢谢
答案 0 :(得分:1)
Sink()
有效。接收txt文件的路径和名称,运行产生文本输出的任何命令,它们将被捕获在txt文件中。最后sink()
关闭。
sink("E:/.../Sink.txt")
gvmodel
sqrt(vif(ModeName))
sink()
答案 1 :(得分:0)
在您的代码中gvmodel<-gvlma(lmFit)
产生gvlma
对象。不能直接将其直接打印到.txt文件。您可以使用as.character()
选项先 将其转换为字符:
gvmodel<-gvlma(lmFit)
gvmodel <- as.character(gvmodel)
例如可以使用cat
打印结果。因此,如果将所有这些放在一起:
gvmodel<-gvlma(lmFit)
gvmodel <- as.character(gvmodel)
VIF<-sqrt(vif(lmFit))
Str1<-"Original R-square=.567"
Str2<-"Cross-validated R-Square=.123" # NB the corrected quotation marks
cat(gvmodel,VIF,Str1, file="yourfile.txt",sep="\t")