I have one dataframe in r and i subsetted into two:
p<-c(3.14,3.56,7.45,8.33,5.44,3.12,3.78,7.62,9.12,4.34,6.78,8.65,6.99)
n<-c("mQTL","mQTL","null","null","null","null","null","null","null","null","null","null","null")
s<-c(2,2,1,2,1,1,2,2,2,1,2,1,2)
g<-c("female","male","female","male","female","female","male","female","female","male","female","female","female")
df<-data.frame(n,g,s,p)
df
mQTL<-subset(df,df$n=='mQTL')
mQTL
n g s p
1 mQTL female 2 3.14
2 mQTL male 2 3.56
null<-subset(df,df$n=="null")
null
n g s p
3 null female 1 7.45
4 null male 2 8.33
5 null female 1 5.44
6 null female 1 3.12
7 null male 2 3.78
8 null female 2 7.62
9 null female 2 9.12
10 null male 1 4.34
11 null female 2 6.78
12 null female 1 8.65
13 null female 2 6.99
I want to randomly search two elements from null, where each of them matches the two mQTLs based on gender (df$g) and number (df$s)
for example, I want to have something like this for the first random draw
n g s p
null female 2 7.62
null male 2 3.78
for the second random draw
n g s p
null female 2 9.12
null male 2 3.78
i want to randomly draw this 5 times, for example, to get 5 different combinations
i tried
null[which((mQTL$g==null$g)& (mQTL$s==null$s)),]
but it gave me a dataframe of all of them not two per combination
n g s p
4 null male 2 8.33
9 null female 2 9.12
11 null female 2 6.78
13 null female 2 6.99