Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.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
R-函数which()没有产生正确的输出_R - Fatal编程技术网

R-函数which()没有产生正确的输出

R-函数which()没有产生正确的输出,r,R,我有一个temp1表,它有两列“Hospital.Name”和“heartattack”以及一个名为“colname”的变量 我得到“心脏病发作”栏的最小结果 请帮我了解我的配方: temp1[which(temp1[[colname1]] == min(as.numeric(temp1[[colname1]]))),] 如果我理解正确,那么您需要一行的所有信息,其中一个变量的值最小 如果您想这样做,可以尝试which.min 使用mtcars数据集显示在R会话中: mtcars[which.

我有一个temp1表,它有两列“Hospital.Name”和“heartattack”以及一个名为“colname”的变量

我得到“心脏病发作”栏的最小结果

请帮我了解我的配方:

temp1[which(temp1[[colname1]] == min(as.numeric(temp1[[colname1]]))),]

如果我理解正确,那么您需要一行的所有信息,其中一个变量的值最小

如果您想这样做,可以尝试
which.min

使用mtcars数据集显示在R会话中:

mtcars[which.min(mtcars$mpg),]
以上将获取mtcars数据中mpg字段最小值的记录(行)

#> mtcars[which.min(mtcars$mpg),]
#                    mpg cyl disp  hp drat   wt  qsec vs am gear carb
#Cadillac Fleetwood 10.4   8  472 205 2.93 5.25 17.98  0  0    3    4
现在,如果您使用数据集中使用的
方法,您可以得到如下内容:

mtcars[which(mtcars[[colname1]] == min(mtcars[[colname1]])),]
这将产生如下两个记录:

#> mtcars[which(mtcars[[colname1]] == min(mtcars[[colname1]])),]
#                     mpg cyl disp  hp drat    wt  qsec vs am gear carb
#Cadillac Fleetwood  10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
#Lincoln Continental 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
故事的寓意
which.min
生成逻辑匹配的第一个实例,但是如果有多条最小值相同的记录,which
可以为您提供匹配的两个实例

从文件:

确定位置,即(第一个)最小值或最大值的索引 指数字(或逻辑)向量

在您的情况下,它可能类似于:

temp1[which.min(temp1[,colname]) ,]
如果不是数字形式,而是一步一步做很多事情,那么为了简单起见,请打破它

  temp1[,colname] <- as.numeric(temp1[,colname]) ##numeric conversion
  temp1[which.min(temp1[,colname]) ,]
#> mtcars[which(mtcars[[colname1]] == min(mtcars[[colname1]])),]
#                     mpg cyl disp  hp drat    wt  qsec vs am gear carb
#Cadillac Fleetwood  10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
#Lincoln Continental 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
temp1[which.min(temp1[,colname]) ,]
  temp1[,colname] <- as.numeric(temp1[,colname]) ##numeric conversion
  temp1[which.min(temp1[,colname]) ,]
temp1[which(temp1[[colname]] == min(temp1[[colname]])),]