私はRには新しく、ここにデータを構造化するための助けが必要です。R:別のデータフレームから対応する値を取得
私は2つのデータセットを持っています。もう一つはワイドフォーマットとルックスで、すでにある
long.format <- data.frame(subject.no = c(1, 1, 1, 1, 2, 2, 2, 2), condition = c("prime", "prime", "prime", "prime", "control", "control","control","control"), response = c(1,1,1,0,1,1,1,0))
subject.no condition response
>1 1 prime 1
>2 1 prime 1
>3 1 prime 1
>4 1 prime 0
>5 2 control 1
>6 2 control 1
>7 2 control 1
>8 2 control 0
:それらの 一つが大きく、このような少し見える被験者データセット内の長い形式ですこの
wide.format <- data.frame(subject = c(1, 2), age = c(26,27), gender = c("m","f"))
subject age gender
>1 1 26 m
>2 2 27 f
のように私が今やりたい唯一のことは、「条件」の値を取得することです(そしてこれだけ!)幅のデータフレーム内の対応する被写体までの長い形式のデータフレームから追加することにより、ワイドデータフレームの新しい列(列を使用してsubject.noおよびsubject)。
だから、最後のデータフレームは次のようになります。
wide.format.aim <- data.frame(subject = c(1, 2), age = c(26,27), gender = c("m","f"), condition = c("prime","control"))
subject age gender condition
>1 1 26 m prime
>2 2 27 f control
私がマージしようとしたが、これはワイドフォーマットのデータフレームからの情報を付加し、長い形式のデータフレームになってしまった...しかし、
test.it <- merge(x=wide.format, y=long.format[,c("subject.no", "condition")], all.x=T, by.x="subject", by.y="subject.no")
任意の提案:私は
これは私が試したものです...それ他の方法で回避したいですか?
ありがとうございます!
それらの値(申し訳ありませんが、これは本当の変数名である) テストを使用してマージすることができます。それは、x = data.values、y = data [、c( "subject_nr"、 "Bedingung")]、all.x = T、by.x = "vp.list"、by.y = "subject_nr ") - しかし、これはうまくいきませんでした(あなたが好きなのはもっと言葉で何が起こったのか説明できます...) – Mathias
大丈夫です!これは今理解しやすいと思っています – Mathias