0

次の文字列のベクトル「c」をテーブルのリストに読み込む方法は?最短のread.tablestrsplitはどちらの方法ですか?たとえば、1つのコマンドでテーブルEdit: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
4

2 に答える 2

1

これは4:6行目を返します

 c[4:6]

これを解析したい場合は、2つのステップで実行します。最初に行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
于 2012-12-15T02:11:39.137 に答える
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

cR内部関数を変数名として使用するのは良い考えではないようです

于 2012-12-15T01:35:27.717 に答える