如何将t.test的结果写入文件?

时间:2012-11-24 05:36:59

标签: r

如何将t.test的结果写入文件?

> x  
[1] 12.2 10.8 12.0 11.8 11.9 12.4 11.3 12.2 12.0 12.3  
> t.test(x)

One Sample t-test  

data:  x   
t = 76.2395, df = 9, p-value = 5.814e-14  
alternative hypothesis: true mean is not equal to 0   
95 percent confidence interval:  
 11.5372 12.2428   
sample estimates:  
mean of x   
11.89   

> write(t.test(x),file="test")    
Error in cat(list(...), file, sep, fill, labels, append) : 
argument 1 (type 'list') cannot be handled by 'cat'

2 个答案:

答案 0 :(得分:5)

> sink("out.txt")
> x  <- scan()
1:  12.2 10.8 12.0 11.8 11.9 12.4 11.3 12.2 12.0 12.3 
11: 
Read 10 items
> t.test(x)
> sink()
> readLines("out.txt")
 [1] ""                                                    
 [2] "\tOne Sample t-test"                                 
 [3] ""                                                    
 [4] "data:  x "                                           
 [5] "t = 76.2395, df = 9, p-value = 5.814e-14"            
 [6] "alternative hypothesis: true mean is not equal to 0 "
 [7] "95 percent confidence interval:"                     
 [8] " 11.5372 12.2428 "                                   
 [9] "sample estimates:"                                   
[10] "mean of x "                                          
[11] "    11.89 "                                          
[12] ""            

答案 1 :(得分:0)

此帖子之后发布了broom软件包。这使得处理模型输出好得多。特别是,函数tidy()会将模型输出转换为数据帧以进行进一步处理。

x <- c(12.2, 10.8, 12.0, 11.8, 11.9, 12.4, 11.3, 12.2, 12.0, 12.3)
t_test <- t.test(x)

library(broom)
tidy_t_test <- broom::tidy(t_test)

tidy_t_test
#> # A tibble: 1 x 8
#>   estimate statistic  p.value parameter conf.low conf.high method
#>      <dbl>     <dbl>    <dbl>     <dbl>    <dbl>     <dbl> <chr> 
#> 1     11.9      76.2 5.81e-14         9     11.5      12.2 One S…
#> # … with 1 more variable: alternative <chr>

write.csv(tidy_t_test, "out.csv")