Apakah formula ini untuk mengubah P, LSD, MSD, HSD, CI, untuk SE sebagai / perkiraan konservatif tepat atau meningkat dari

11

Latar Belakang

Saya sedang melakukan meta-analisis yang mencakup data yang dipublikasikan sebelumnya. Seringkali, perbedaan antara perawatan dilaporkan dengan nilai-P, perbedaan paling signifikan (LSD), dan statistik lainnya tetapi tidak memberikan estimasi langsung dari varians.

Dalam konteks model yang saya gunakan, perkiraan perbedaan terlalu tinggi tidak apa-apa.

Masalah

Berikut adalah daftar transformasi ke mana (Saville 2003) yang saya pertimbangkan, umpan balik dihargai; di bawah ini, saya berasumsi bahwa sehingga dan variabel terdistribusi normal kecuali dinyatakan lain:S E = SE α=0,051- α / 2=0,975SE=MSE/n α=0.051α/2=0.975

Pertanyaan:

  1. diberikan , , dan sarana perawatan dann ˉ X 1 ˉ X 2 S E = ˉ X 1 - ˉ X 2PnX¯1X¯2

    SE=X¯1X¯2t(1P2,2n2)2/n
  2. diberikan LSD (Rosenberg 2004) , , , mana adalah jumlah blok, dan secara default untuk RCBD n b b n = b S E = L S Dαnbbn=b

    SE=LSDt(0.975,n)2bn
  3. diberikan MSD (perbedaan signifikan minimum) (Wang 2000) , , , df =α 2 n - 2 S E = M S Dnα2n2

    SE=MSDt(0.975,2n2)2
  4. diberi 95% Confidence Interval (Saville 2003) (diukur dari mean ke batas kepercayaan atas atau bawah), , dann S E = C Iαn

    SE=CIt(α/2,n)
  5. mengingat Tukey's HSD, , di mana adalah 'statistik rentang mahasiswa',q S E = H S Dnq

    SE=HSDq(0.975,n)

Fungsi R untuk merangkum persamaan ini:

  1. Contoh Data:

    data <- data.frame(Y=rep(1,5), 
                       stat=rep(1,5), 
                       n=rep(4,5), 
                       statname=c('SD', 'MSE', 'LSD', 'HSD', 'MSD') 
    
  2. Contoh Penggunaan:

    transformstats(data)    
    
  3. The transformstatsFungsi:

    transformstats <- function(data) {
      ## Transformation of stats to SE
      ## transform SD to SE
      if ("SD" %in% data$statname) {
        sdi <- which(data$statname == "SD")
        data$stat[sdi] <- data$stat[sdi] / sqrt(data$n[sdi])
        data$statname[sdi] <- "SE"
          }
      ## transform MSE to SE
      if ("MSE" %in% data$statname) {
        msei <- which(data$statname == "MSE")
        data$stat[msei] <- sqrt (data$stat[msei]/data$n[msei])
        data$statname[msei] <- "SE"
      }
      ## 95%CI measured from mean to upper or lower CI
      ## SE = CI/t
      if ("95%CI" %in% data$statname) {
        cii <- which(data$statname == '95%CI')
        data$stat[cii] <- data$stat[cii]/qt(0.975,data$n[cii])
        data$statname[cii] <- "SE"
      }
      ## Fisher's Least Significant Difference (LSD)
      ## conservatively assume no within block replication
      if ("LSD" %in% data$statname) {
        lsdi <- which(data$statname == "LSD")
        data$stat[lsdi] <- data$stat[lsdi] / (qt(0.975,data$n[lsdi]) * sqrt( (2 * data$n[lsdi])))
        data$statname[lsdi] <- "SE"
      }
      ## Tukey's Honestly Significant Difference (HSD),
      ## conservatively assuming 3 groups being tested so df =2
      if ("HSD" %in% data$statname) {
        hsdi <- which(data$statname == "HSD" & data$n > 1)
        data$stat[hsdi] <- data$stat[hsdi] / (qtukey(0.975, data$n[lsdi], df = 2))
        data$statname[hsdi] <- "SE"
      }              
      ## MSD Minimum Squared Difference
      ## MSD = t_{\alpha/2, 2n-2}*SD*sqrt(2/n)
      ## SE  = MSD*n/(t*sqrt(2))
      if ("MSD" %in% data$statname) {
        msdi <- which(data$statname == "MSD")
        data$stat[msdi] <- data$stat[msdi] * data$n[msdi] / (qt(0.975,2*data$n[lsdi]-2)*sqrt(2))
        data$statname[msdi] <- "SE"
      }
      if (FALSE %in% c('SE','none') %in% data$statname) {
        print(paste(trait, ': ERROR!!! data contains untransformed statistics'))
      }
      return(data)
    }
    

Referensi

Saville 2003Can J. Exptl Psych. (pdf)

Rosenberg et al 2004 (tautan)

Wang et al. 2000 Env. Racun dan Chem 19 (1): 113-117 (tautan)

David
sumber
Saya tidak yakin apakah sebagian besar CI benar-benar dihitung melalui nilai-t atau lebih tepatnya melalui nilai-z. Namun, pada ns yang lebih besar (> 30) ini seharusnya tidak membuat banyak perbedaan.
Henrik
nn

Jawaban:

7

Persamaan LSD Anda terlihat bagus. Jika Anda ingin kembali ke varians dan Anda memiliki ringkasan statistik yang mengatakan sesuatu tentang variabilitas atau signifikansi efek maka Anda hampir selalu dapat kembali ke varians - Anda hanya perlu mengetahui rumusnya. Misalnya, dalam persamaan Anda untuk LSD yang ingin Anda selesaikan untuk MSE, MSE = (LSD / t _) ^ 2/2 * b

John
sumber
Untuk MSD, jika MSD = t_ {alpha, 2n-2} * sd sqrt (2 / n), apakah SE = MSD n / (t_ {alpha, n} * sqrt (2)) benar?
David LeBauer
7

Saya hanya bisa setuju dengan John. Selanjutnya, mungkin makalah ini oleh David Saville membantu Anda dengan beberapa rumus untuk menghitung ulang langkah-langkah variabilitas dari LSDs et al .:
Saville DJ (2003). Statistik dasar dan ketidakkonsistenan dari beberapa prosedur perbandingan. Jurnal Psikologi Eksperimental Kanada, 57, 167–175

UPDATE:
Jika Anda mencari lebih banyak rumus untuk mengkonversi antara berbagai ukuran efek, buku-buku tentang meta-analisis harus menyediakan banyak dari ini. Namun, saya bukan ahli dalam bidang ini dan tidak bisa merekomendasikannya.
Tapi, saya ingat bahwa buku karya Rosenthal dan Rosnow pernah membantu dengan beberapa rumus:
Essentials of Behavioral Research: Metode dan Analisis Data
Selanjutnya, saya telah mendengar banyak hal baik tentang formula dalam buku ini oleh Rosenthal, Rosnow & Rubin (walaupun Saya tidak pernah menggunakannya):
Perbedaan Kontras dan Efek dalam Penelitian Perilaku: Suatu Pendekatan Korelasional (Anda harus mencobanya jika perpustakaan terdekat memilikinya).

Jika ini tidak cukup, mungkin ajukan pertanyaan lain pada literatur untuk mengonversi ukuran efek untuk meta-analisis. Mungkin seseorang yang lebih menyukai meta-analisis memiliki rekomendasi yang lebih membumi.

Henrik
sumber
0

Anda dapat mempertimbangkan mencoba paket R compute.es . Ada beberapa fungsi untuk menurunkan perkiraan ukuran efek dan varians dari ukuran efek.

user3752
sumber
itu adalah paket yang bagus yang telah Anda tulis, tetapi saya tertarik untuk memperkirakan sampel SE, dan fungsi-fungsi ini tampaknya memberikan perkiraan varians untuk ukuran efek analisis meta, sedangkan saya ingin menyimpulkan varians populasi (misalnya diskalakan untuk data asli). Bisakah Anda memberikan contoh bagaimana fungsi dalam compute.espaket dapat digunakan untuk mereplikasi persamaan dan fungsi yang saya tulis di atas?
David LeBauer