相关疑难解决方法(0)

为什么诊断功能这么慢?[在R 3.2.0或更早版本]

我正在查看这个答案中的基准,并希望将它们与diag(用于不同的答案)进行比较.不幸的是,似乎diag需要很长时间:

nc  <- 1e4
set.seed(1)
m <- matrix(sample(letters,nc^2,replace=TRUE), ncol = nc)

microbenchmark(
  diag = diag(m),
  cond = m[row(m)==col(m)],
  vec  = m[(1:nc-1L)*nc+1:nc],
  mat  = m[cbind(1:nc,1:nc)],
times=10)
Run Code Online (Sandbox Code Playgroud)

评论:我测试了这些identical.我从这个家庭作业问题的答案中选了一个"cond" .结果类似于整数矩阵,1:26而不是letters.

结果:

Unit: microseconds
 expr         min          lq         mean       median          uq         max neval
 diag  604343.469  629819.260  710371.3320  706842.3890  793144.019  837115.504    10
 cond 3862039.512 3985784.025 4175724.0390 4186317.5260 4312493.742 4617117.706    10
  vec     317.088     329.017     432.9099     350.1005     629.460     651.376    10
  mat     272.147 …
Run Code Online (Sandbox Code Playgroud)

r matrix diagonal

43
推荐指数
1
解决办法
906
查看次数

使用字母数字顺序对data.table中的行(使用DT包呈现)进行排序

我试图找出是否可以data.table使用DT字母数字顺序对包中的行进行排序.我搜索过以前的例子,但似乎没有办法做到这一点.任何人都可以帮助我走向正确的方向吗?

sorting r alphanumeric data.table dt

1
推荐指数
1
解决办法
504
查看次数

标签 统计

r ×2

alphanumeric ×1

data.table ×1

diagonal ×1

dt ×1

matrix ×1

sorting ×1