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
 
     
    