簡體   English   中英

R中未使用的參數和無效的下標類型列表錯誤

[英]unused arguments and invalid subscript type list error in R

我正在為一項任務而苦苦掙扎,我希望您的投入。 注意:這是一項家庭作業,但是當我嘗試添加標簽時說不要添加標簽。.我不想要生成的代碼,只是有關如何使它工作的建議:)

所以,我有這樣一個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)
    }

矩陣30cols x 12k行,稱為data以及一個注釋文件,其中包含col名稱和列上名為dataAnn列中的數據

dataAnn第一列包含M(男性)或F(女)對應於樣本(或COLS)的列表data (后面的順序相同dataAnn ),我必須運行一個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'

我一直在網上尋找,我知道第二個錯誤是由索引作為列表引起的...但是這並沒有真正為我澄清它...任何輸入將不勝感激!

您已經覆蓋了t.test函數。 嘗試調用類似my.t.test類的my.t.test ,或者當您想調用原始名稱時,請使用stats::t.test (這會從stats名稱空間中調用該名稱)。 請記住,當您覆蓋一個函數時,需要先從工作空間中rm該函數,然后才能使用原始函數而不指定名稱空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM