我試圖確定在長表單數據集內重複哪些試驗,但只限於每個參與者的某些塊內。我的數據結構是這樣的:如何識別數據子集中的重複項目
sub block trial item
1 1 1 A
1 1 2 B
1 2 1 A
1 2 2 B
1 3 1 B
1 3 2 C
2 1 1 A
2 1 2 B
2 2 1 A
2 2 2 B
2 3 1 B
2 3 2 C
我想創建一個新列表示每個參與者,該項目是重複的,並與新的審判代碼中的另一個新列,但前提是項目重複塊2和3。因此,這將是這個樣子:
sub block trial item dup newtrial
1 1 1 A FALSE 1
1 1 2 B FALSE 2
1 2 1 A FALSE 1
1 2 2 B FALSE 2
1 3 1 C FALSE 1
1 3 2 B TRUE 102
2 1 1 A FALSE 1
2 1 2 B FALSE 2
2 2 1 A FALSE 1
2 2 2 B FALSE 2
2 3 1 C FALSE 1
2 3 2 B TRUE 102
我已經能夠確定在整個數據集重複使用和添加以下代碼100至各試驗序號:
data$dup<-duplicated(data$item)
data$newtrial<-NA
data<-transform(data,
item=make.unique(as.character(item)),
newtrial=ifelse(duplicated(item),trial+100, trial))
我無法弄清楚的是如何限制每個主題的功能,以及每個主題編號中的特定塊。
謝謝!
您所需的輸出看起來不符合您的輸入。爲什麼那些標記爲'dup = TRUE'的標記在其「子」和「塊」中是重複的? – aichao