【问题标题】:element in R dataframe good practiceR数据框中的元素良好实践
【发布时间】:2016-02-08 22:47:49
【问题描述】:

可以通过两种不同的方式访问 R 中数据框 foobar 列中的 ith 元素:

foo[i,"bar"]

foo$bar[i].

它们之间有什么区别吗?如果是这样,从效率、可读性等方面来说应该使用哪一个?

抱歉,如果已经问过这个问题,但 []$ 字符非常难以捉摸。

【问题讨论】:

    标签: r dataframe brackets dollar-sign


    【解决方案1】:

    我倾向于认为这是一个基于意见的问题,因此不适合 SO。但是由于您要求考虑速度,因此我不会将其标记为这样。注意:您描述的索引方法不止两种...

    data(mtcars)
    library(microbenchmark)
    microbenchmark(opt_a= mtcars$disp[12],
               opt_b= mtcars[12, "disp"],
               opt_c= mtcars[["disp"]][12])
    
    Unit: microseconds
      expr   min      lq     mean  median     uq     max neval cld
     opt_a 5.322  6.4620  8.34029  6.8425  7.603  56.640   100  a 
     opt_b 9.503 10.0735 15.41463 10.6435 11.024 354.285   100   b
     opt_c 4.181  4.942  7.77386  5.322  6.082 84.009   100     a 
    

    使用foo$bar[i] 似乎比foo[i, "bar"] 快得多,但不是最快的替代方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 2010-09-09
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多