我正在尝试对数据集中的特定观测值进行子集化。
我有四列:Trial_code
,Flanker
,RT
和correct
这是我的数据框中的摘录:
Trial_code Flanker RT correct
1 validspatialcue1 1 621 1
2 doublecue 2 730 1
3 nocue 1 796 1
4 invalidspatialcue 1 511 1
5 validspatialcue3 2 736 1
6 nocue 1 593 1
7 validspatialcue2 2 682 1
8 doublecue 2 690 1
9 invalidspatialcue 1 641 1
10 validspatialcue1 1 476 1
11 validspatialcue3 2 573 1
我正在尝试选择并创建符合以下条件的观测数据框
Trial_code
中的条目应为以下任意一项:
validspatialcue1
,validspatialcue2
,validspatialcue3
和
Flanker
中的值应等于1
为此,我编写了以下代码:
data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker=1)
我遇到以下错误:
Error: unexpected '=' in "data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker="
任何人都可以帮忙,因为我不确定我在这里犯了什么错误。
答案 0 :(得分:1)
尝试一下:
mydata[grepl('^validspatialcue[123]', mydata$Trial_code) &
mydata$Flanker == 1, ]
这里提供了两个参数。 第一个-grepl(...)-在可变的Trial_code中查找以下字符串:
第二个查找mydata等于1的情况。
“&”符号指示子设置查找先前条件同时成立。
在关闭球拍之前,请不要忘记逗号“!”!
答案 1 :(得分:0)
您的最后一条语句正在使用=
,而必须改为==
data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker==1)