给定一个数据框“dfrm”,其中包含“city”列中的城市名称、“population”列中的人口和“meanSummerT”列中的夏季平均温度,您对满足这些联合要求的子集的请求将得到满足使用以下任何一种:
subset( dfrm, population < 1e6 & meanSummerT > 70)
dfrm[ which(dfrm$population < 1e6 & dfrm$meanSummerT > 70) , ]
dfrm[ which( dfrm[[ 'population' ]] < 1e6 & dfrm[[ 'meanSummerT' ]] > 70) , ]
如果您只想要符合这些联合标准的城市名称,那么这些将起作用:
subset( dfrm, population < 1e6 & meanSummerT > 70 , city)
dfrm[ which(dfrm$population < 1e6 & dfrm$meanSummerT > 70) , "city" ]
dfrm[ which(dfrm[['population']] < 1e6 & dfrm[['meanSummerT']] > 70) , "city" ]
请注意,列名没有在子集中或在“$”运算符之后被引用,而是在“[[”中被引用。请注意,which
如果没有数据行匹配,则使用可能很危险,因为您将获得整个数据帧,而不是没有行。