Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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排序数据子集_R_Sorting_Dataframe_Subset - Fatal编程技术网

R排序数据子集

R排序数据子集,r,sorting,dataframe,subset,R,Sorting,Dataframe,Subset,我正在学习使用R(版本3.1.2),所以这可能是一个noob问题,但我在排序数据帧的子集时遇到了问题。如果我使用attach(mtcars)使用mtcars数据框,我可以使用ord.cars轻松订购,这是一个与您使用attach()相关的问题,在R中不推荐使用该功能-正是出于这个原因!问题是,您的代码有点模棱两可,或者至少,它与您预期的不同 如何解决这个问题 分离数据集和 不要再次使用attach。相反,使用[和/或$,如果您喜欢with()来对数据进行子集划分 以下是您可以如何执行此操作的示例

我正在学习使用R(版本3.1.2),所以这可能是一个noob问题,但我在排序数据帧的子集时遇到了问题。如果我使用
attach(mtcars)
使用mtcars数据框,我可以使用
ord.cars轻松订购,这是一个与您使用
attach()
相关的问题,在R中不推荐使用该功能-正是出于这个原因!问题是,您的代码有点模棱两可,或者至少,它与您预期的不同

如何解决这个问题

  • 分离数据集和
  • 不要再次使用
    attach
    。相反,使用
    [
    和/或
    $
    ,如果您喜欢
    with()
    来对数据进行子集划分
  • 以下是您可以如何执行此操作的示例:

    detach(mtcars)
    ord.cars <- mtcars[order(mtcars$hp),]
    
    sub.cars <- subset(mtcars, hp > 120)
    #the subset could also be written as:
    sub.cars <- mtcars[mtcars$hp > 120,]
    
    ord.sub <- sub.cars[order(sub.cars$mpg),]
    
    head(ord.sub)  # only show the first 6 rows
                         mpg cyl disp  hp drat   wt qsec vs am gear carb
    Cadillac Fleetwood  10.4   8  472 205 2.93 5.25 18.0  0  0    3    4
    Lincoln Continental 10.4   8  460 215 3.00 5.42 17.8  0  0    3    4
    Camaro Z28          13.3   8  350 245 3.73 3.84 15.4  0  0    3    4
    Duster 360          14.3   8  360 245 3.21 3.57 15.8  0  0    3    4
    Chrysler Imperial   14.7   8  440 230 3.23 5.34 17.4  0  0    3    4
    Maserati Bora       15.0   8  301 335 3.54 3.57 14.6  0  1    5    8
    
    分离(mtcars)
    
    ord.cars我猜这是一个与您使用R中不推荐的
    attach()
    有关的问题。请尝试以下操作:分离数据集,然后使用
    [
    和/或
    $
    ,如果您喜欢
    with()
    对数据子集:
    分离(mtcars);ord.cars@初学者请将其作为答案发布。收到,@Thomas:)这也可能是一个示例,您可以查看:
    seq(1,nrow(sub.cars))[order(mpg)]
    order(mpg)
    包括
    sub.cars
    中不可用的行索引,因此这些行仅用
    NA
    值填充。非常感谢您的时间和耐心!
    detach(mtcars)
    ord.cars <- mtcars[order(mtcars$hp),]
    
    sub.cars <- subset(mtcars, hp > 120)
    #the subset could also be written as:
    sub.cars <- mtcars[mtcars$hp > 120,]
    
    ord.sub <- sub.cars[order(sub.cars$mpg),]
    
    head(ord.sub)  # only show the first 6 rows
                         mpg cyl disp  hp drat   wt qsec vs am gear carb
    Cadillac Fleetwood  10.4   8  472 205 2.93 5.25 18.0  0  0    3    4
    Lincoln Continental 10.4   8  460 215 3.00 5.42 17.8  0  0    3    4
    Camaro Z28          13.3   8  350 245 3.73 3.84 15.4  0  0    3    4
    Duster 360          14.3   8  360 245 3.21 3.57 15.8  0  0    3    4
    Chrysler Imperial   14.7   8  440 230 3.23 5.34 17.4  0  0    3    4
    Maserati Bora       15.0   8  301 335 3.54 3.57 14.6  0  1    5    8