Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有colname和逻辑运算符的R子集集_R_Dataframe_Subset_Alphabetical - Fatal编程技术网

具有colname和逻辑运算符的R子集集

具有colname和逻辑运算符的R子集集,r,dataframe,subset,alphabetical,R,Dataframe,Subset,Alphabetical,有人能解释一下为什么第三个例子中R的子集不能给出与第一个和第二个例子相同的结果吗?我认为前3个亚组病例是相等的。 我可以子集mtcars[cyl>=6],但为什么我不能子集mtcars[cyl==6] 非常感谢 数据车 mtcars[mtcars[,2]==6,] >mpg气缸显示hp drat wt qsec与am齿轮carb >马自达RX421.06160.01103.902.62016.46014 >马自达RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02

有人能解释一下为什么第三个例子中R的子集不能给出与第一个和第二个例子相同的结果吗?我认为前3个亚组病例是相等的。 我可以子集mtcars[cyl>=6],但为什么我不能子集mtcars[cyl==6]

非常感谢

数据车 mtcars[mtcars[,2]==6,] >mpg气缸显示hp drat wt qsec与am齿轮carb >马自达RX421.06160.01103.902.62016.46014 >马自达RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 >大黄蜂4路21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 >Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 >Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 >Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 >法拉利迪诺19.7 6 145.0 175 3.62 2.770 15.50 01 5 6 mtcars[mtcars$cyl==6,] >mpg气缸显示hp drat wt qsec与am齿轮carb >马自达RX421.06160.01103.902.62016.46014 >马自达RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 >大黄蜂4路21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 >Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 >Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 >Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 >法拉利迪诺19.7 6 145.0 175 3.62 2.770 15.50 01 5 6 mtcars[气缸==6,] >[1]mpg气缸显示hp drat wt qsec与am齿轮carb >或0长度的行名称 但是 mtcars[气缸>=6,] >mpg气缸显示hp drat wt qsec与am齿轮carb >马自达RX421.06160.01103.902.62016.46014 >马自达RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 >Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 4 1 ....
在第三种情况下,由v0.3.0于2020-07-31创建,您将得到零行,因为您将字符串cyl而不是变量cyl与数字6进行比较。因为要将字符串与数字进行比较,所以R强制这两种类型(如果可能)相等:在本例中,R将数字6转换为字符串6

您现在试图满足的条件是cyl==6,这总是错误的;因此得到零行

关于第四个案例,我们可以看到

> "cyl" >= 6
[1] TRUE
这是正确的,因为这两个对象不是同一类型的cyl is character和6是numeric,所以R将数字强制为字符6


现在,条件cyl>=6为真,因为从字母数字上讲,数字(如6)位于字母之前。

在第三种情况下,您将得到零行,因为您将字符串cyl而不是变量cyl与数字6进行比较。因为要将字符串与数字进行比较,所以R强制这两种类型(如果可能)相等:在本例中,R将数字6转换为字符串6

您现在试图满足的条件是cyl==6,这总是错误的;因此得到零行

关于第四个案例,我们可以看到

> "cyl" >= 6
[1] TRUE
这是正确的,因为这两个对象不是同一类型的cyl is character和6是numeric,所以R将数字强制为字符6


现在,条件cyl>=6是真的,因为从字母数字上讲,像6这样的数字出现在字母之前。

IMHO,第三个例子必须重写为mtcars[mtcars[[cyl]]==6,]..IMHO,第三个例子必须重写为mtcars[mtcars[[cyl]]==6,]。。