如何正确地对 r 中的数据框进行子集化?

How to correctly subset a dataframe in r?

我想对数据框进行子集化,下面创建了一个数据框:

col1<-c(1:22 )
col2<-c(0,-19,1,-30,15,60,15,16,19
        ,19,1,13,13,24,60,19,160,72
        ,10,19,14,-78)
col3<-c ( NA,2.190,NA,NA, -5.000, NA,
         1.700,4.220,NA,NA,NA,2.000,
         6.340,9.000,-5.000,NA,4.750,
         NA,NA,NA,2.560,2.560)
mydata<-data.frame(col1,col2,col3)

我想对该数据帧进行子集化,使 col2col3 中的值都大于 0,那么我的下一个语法是:

mydata<-mydata[mydata$col2>0 & mydata$col3>0,]

很明显dataframe被改了,我的语法有什么问题?

这是之前:

的数据帧

...这是数据帧 after:

如何使用subset函数:

subset(mydata, col2>0 & col3>0)