Di sini saya menjelaskan cara menggunakan paket R rcicr yang dipelihara secara aktif (dan relatif mudah digunakan) yang saya tulis untuk menghasilkan rangsangan korelasi terbalik dan menghitung gambar klasifikasi.

Anda dapat mengunduh paket versi terbaru di Github

Unduh dan Instalasi

Instal R (dan RStudio untuk membuat hidup Anda lebih mudah). Jangan khawatir, semuanya gratis. Kemudian, untuk mendapatkan rilis terbaru dari paket klasifikasi gambar korelasi terbalik (“rcicr”), jalankan perintah berikut di R (sayangnya saat ini tidak ada di CRAN):

install.packages("devtools") library(devtools) install_github("rdotsch/rcicr", ref = "development")

Menghasilkan rangsangan

Muat paket dengan:

library(rcicr)

Kemudian bangkitkan rangsangan dengan:

generateStimuli2IFC(base_face_files, n_trials = 770)

Jika Anda mendapatkan pesan kesalahan di sini, itu karena Anda belum menetapkan argumen base_face_files, lihat di bawah. Panggilan untuk menghasilkanStimuli2IFC ini akan menghasilkan rangsangan untuk 770 percobaan dari 2 gambar pilihan paksa tugas klasifikasi gambar korelasi terbalik dengan noise sinusoid. Secara default, rangsangan akan memiliki resolusi 512 x 512 piksel. Stimulus akan disimpan sebagai jpeg ke folder bernama stimulus di direktori kerja Anda saat ini, dan file .Rdata akan disimpan yang berisi parameter stimulus yang diperlukan untuk analisis.

Argumen base_face_files adalah daftar jpeg yang harus digunakan sebagai gambar dasar untuk rangsangan. Variabel base_face_files mungkin terlihat seperti ini:

base_face_files <- list('male'='male.jpg', 'female'='female.jpg')

Untuk setiap jpeg, satu set rangsangan akan dibuat menggunakan pola kebisingan yang sama seperti set lainnya. Perhatikan bahwa setiap jpeg harus dikodekan sebagai skala abu-abu (jadi bukan hanya gambar skala abu-abu yang disimpan sebagai RGB, pastikan gambar tersebut benar-benar dikodekan sebagai skala abu-abu). JPEG harus memiliki resolusi yang Anda inginkan dari rangsangan tersebut. Secara default, ukurannya harus 512 x 512 piksel. Jika Anda menginginkan ukuran yang berbeda, ubah ukuran gambar dasar Anda menjadi 128 x 128 atau 256 x 256 untuk rangsangan yang lebih kecil, atau 1024 x 1024 untuk rangsangan yang lebih besar. Dalam hal ini, atur juga parameter img_size di fungsi generateStimuli2IFC.

Anda sekarang siap mengumpulkan data dengan rangsangan yang baru saja Anda buat. Rangsangan diberi nama berdasarkan nomor urutnya saat dihasilkan dan apakah derau aslinya ditumpangkan atau derau negatif/terbalik. Stimulus dengan nomor urut yang sama hendaknya disajikan secara berdampingan dalam percobaan yang sama. Catat stimulus mana yang dipilih peserta pada percobaan tertentu (yang asli, atau yang terbalik). Setidaknya pastikan bahwa dalam file data Anda dapat dibuat koneksi antara kunci respons peserta dan stimulus mana yang dipilih pada setiap percobaan. Gunakan perangkat lunak presentasi apa pun yang Anda suka.

Analisis data

Menganalisis data korelasi terbalik adalah tentang menghitung gambar klasifikasi. Gunakan fungsi berikut untuk data Anda yang dikumpulkan menggunakan 2 gambar rangsangan pilihan paksa:

ci <- generateCI2IFC(stimuli, responses, baseimage, rdata)

Parameter rangsangan harus berupa vektor yang berisi nomor urut rangsangan yang disajikan dalam uji coba tugas. Parameter respons berisi, dalam urutan vektor rangsangan, respons peserta terhadap rangsangan tersebut (berkode 1 jika stimulus asli dipilih dan -1 jika stimulus terbalik dipilih). Parameter baseimage adalah string yang menentukan gambar dasar mana yang digunakan (bukan nama file, tetapi nama dalam daftar base_face_files. Jadi untuk rangsangan yang dihasilkan di atas, baik 'laki-laki' atau 'perempuan', tergantung pada kumpulan rangsangan yang mana. disajikan kepada peserta yang datanya Anda analisis). Terakhir, rdata adalah string yang menunjuk ke file .RData yang dibuat secara otomatis saat Anda membuat rangsangan. Ini berisi parameter untuk setiap stimulus, yang diperlukan untuk membuat gambar klasifikasi.

Secara default, jpeg gambar klasifikasi akan disimpan secara otomatis. Nilai yang dikembalikan nanti dapat digunakan untuk mengubah skala noise relatif terhadap gambar dasar secara optimal. Misalnya, jika Anda memiliki daftar CI dari berbagai peserta (yaitu, daftar nilai yang dikembalikan oleh beberapa panggilan ke generateCI2IFC, satu untuk setiap peserta), Anda dapat menggunakan fungsi skala otomatis untuk menghasilkan gambar klasifikasi yang diskalakan secara identik dan oleh karena itu mudah untuk membandingkan:

ci1 <- generateCI2IFC(…) ci2 <- generateCI2IFC(…) cis <- list(ci1name=ci1, ci2name=ci2) scaled_cis <- autoscale(cis, saveasjpegs = TRUE)

Jika Anda memiliki beberapa peserta (atau kondisi) dalam bingkai data yang ingin Anda buatkan gambar klasifikasi terpisah, Anda dapat menggunakan fungsi khusus yang mengotomatiskan semuanya untuk Anda. Cara kerjanya seperti ini:

cis <- batchGenerateCI2IFC(dataframe, "columnToSplitDataBy", "columnContainingStimulusNumbers", "columnContainingResponses", baseimage, rdata)

di mana baseimage dan rdata bekerja sama seperti dengan generateCI2IFC dan semua argumen lainnya memberi tahu fungsi batch di kolom kerangka data mana untuk menemukan data yang tepat. Secara khusus, argumen kedua memberi tahu fungsi di mana ia dapat menemukan indeks untuk membagi file data. Argumen ini bisa mengacu pada nama kolom yang berisi nomor subjek, atau pada kolom yang berisi kondisi. Itu hanya boleh satu kolom. Jika Anda memiliki desain yang rumit, di mana Anda memiliki beberapa kondisi dalam subjek, pertama-tama Anda ingin membuat kolom yang berisi interaksi antara semua faktor ini, sehingga Anda memiliki label unik untuk setiap kombinasi subjek dan kondisi (R memiliki kemudahan interaksi() fungsi yang dapat Anda gunakan untuk ini). Cis akan secara otomatis diskalakan secara otomatis dan disimpan sebagai jpeg. Anda dapat mengubah perilaku tersebut dengan argumen tambahan.

Contoh

Jika Anda ingin melihat contoh analisis korelasi terbalik yang diterapkan di R, lihat repositori ini. Contoh psikopy mencakup skrip untuk pembuatan stimulus dan skrip analisis di R. Skrip psikopy menyajikan rangsangan korelasi terbalik yang dihasilkan dengan rcicr. Anda dapat mencobanya sendiri dan segera menganalisis data Anda sendiri setelahnya. Anda perlu mengunduh dan menginstal PsychoPy juga.

Menjalankan eksperimen korelasi terbalik secara online

Anton Gollwitzer berbaik hati membagikan kodenya untuk melakukan eksperimen korelasi terbalik secara online di sini.

Kutipan

Jika Anda akhirnya menggunakan paket rcicr, kutipan yang sesuai untuk versi yang Anda gunakan dapat dicari menggunakan perintah berikut di R:

citation('rcicr')