2016-12-05 15 views
-1

データフレームに追加しようとしている変数のRコードに問題があります。本質的に、参加者は2つのクラスの刺激(AとB)に反応し、その反応は正しいか正しくない可能性があった。データセット内の重要な変数(列)は、ID(参加者ID)、刺激タイプ(AまたはB)、および応答(正解または正しくない)です。精度/パーセンテージの変数を作成するためのRコード

私は何をしたい、各参加者のために、計算2「の精度スコア」変数(列)を作成している:それは刺激のタイプAのための精度の割合を示しています1、および刺激B型のための1

Iテーブル関数を使用してこれらのパーセンテージをかなり簡単に得ることができますが、それらの変数を自分のデータセットに作成することは困難です。ご忠告をいただき、ありがとうございました!

+0

ようこそスタックオーバーフロー!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

0

あなたは文字stimtypesとTRUE/FALSE応答でdata.frame mydataを持っている場合は、あなたが

library(dplyr) 
result <- mydata %>% 
    group_by(ID, stimtype) %>% 
    summarize(pct_response = 100 * mean(response, na.rm = T)) 

を使用することができます。これは1/0と平均を取ると論理的応答(T/F)を解釈与えられたIDとstimtypeの割合をあなたに与えます。ただし、IDごとに2つの行があり、各刺激タイプに1つあります。結果を2列にしたい場合は、tidyr::spread

library(tidyr) 
result %>% 
    spread(key = stimtype, value = pct_response) 
関連する問題