1

私は課題に苦労しています。あなたの意見をお願いします。 注:これは宿題ですが、タグを追加しようとすると、追加しないように言われました。 結果のコードは必要ありません。これを機能させる方法の提案だけです:)

だから、私はそのようなt.test関数を持っています:

    my.t.test <- function(x,s1,s2){
        x1 <- x[s1]
        x2 <- x[s2]
        x1 <- as.numeric(x1)
        x2 <- as.numeric(x2)
        t.out <- t.test(x1,x2,alternative="two.sided",var.equal=T)
out <- as.numeric(t.out$p.value)
        return(out)
    }

呼び出された30colsx12k行の行列dataと、名前が付けられた列の列名とデータを含む注釈ファイルdataAnn

dataAnndata最初の列には、 (と同じ順序に従う)のサンプル(または列)に対応するM(男性)またはF(女性)のリストが含まれていますdataAnn。2つのサンプルを比較するt.testを実行し、pを取得する必要があります。値を出す

私が電話するとき

raw.pValue <- apply(data,1,my.t.test,s1=dataAnn[,1]=="M",s2=dataAnn[,1]=="F")

エラーが発生します

Error in t.test(x1, x2, alternative = "two.sided", var.equal = T) : 
  unused argument(s) (alternative = "two.sided", var.equal = T)

私も使ってみました

raw.pValue <- apply(data,1,my.t.test,s1=unlist(data[,1:18]),s2=unlist(data[,19:30]))

比較したい列を分割しますが、この場合はエラーが発生します

Error in x[s1] : invalid subscript type 'list'

私はオンラインで探していましたが、2番目のエラーはインデックスがリストであることが原因であると理解しています...しかし、これは私にとってそれを本当に明確にしませんでした...どんな入力でもいただければ幸いです!!

4

1 に答える 1

1

t.test関数を上書きしました。のような名前を付けてみてくださいmy.t.test。または、元のuse useを呼び出したい場合stats::t.test(これはstats名前空間からのものを呼び出します)。関数を上書きした場合rm、名前空間を指定せずに元の関数を使用する前に、ワークスペースから関数を上書きする必要があることに注意してください。

于 2012-11-07T09:33:26.257 に答える