如何将以下字符串“c”读入表格列表?哪种方式是最短的read.table strsplit?例如我无法在一个命令中看到如何阅读表编辑:c [4:6] a [4:6]。
require(car)
m<-matrix(rnorm(16),4,4,byrow=T)
a<-Anova(lm(m~1),type=3,idata=data.frame(treatment=factor(1:4)),idesign=~treatment)
c<-capture.output(summary(a,multivariate=F))
c
答案 0 :(得分:1)
这将返回第4:6行
c[4:6]
现在,如果你想解析这个,我会分两步完成。首先是第5行:第6行的列值,然后再添加名称。
> vals <- read.table(text=c[5:6])
> txt <- " \t SS\t num Df\t Error SS\t den Df\t F\t Pr(>F)"
> names(vals) <- names(read.delim(text=txt))
> vals
X SS num.Df Error.SS den.Df F Pr..F.
1 (Intercept) 0.57613392 1 0.4219563 3 4.09616 0.13614
2 treatment 1.85936442 3 8.2899759 9 0.67287 0.58996
答案 1 :(得分:0)
编辑 -
您可以查看summary
函数的源代码并计算自己所需的数量
getAnywhere(summary.Anova.mlm)
最初的想法似乎不起作用。
c2 <- summary(a)
# find out what 'properties' the summary object has
# turns out, it is just the Anova object
class(c2) <- "list"
names(c2)
返回
[1] "SSP" "SSPE" "P" "df" "error.df"
[6] "terms" "repeated" "type" "test" "idata"
[11] "idesign" "icontrasts" "imatrix" "singular"
我们可以访问它们
c2$SSP
c2$SSPE
将R内部c
函数用作变量名