我是R新手,在這裏需要一些幫助來構建我的數據。R:從另一個數據幀中獲取對應的值
我有兩個數據集: 其中之一是內對象的數據集是大的,看起來很長的格式有點像這樣:
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