在R中列出连续的数字
我想列一个连续数字的列表,如下所示:在R中列出连续的数字,r,list,R,List,我想列一个连续数字的列表,如下所示: list(1,2,3,4) 给出了四个列表 现在我不想写所有的数字,所以请尝试: list(1:4) 给出了长度为4的列表 如果我想在不写所有数字的情况下列出四个,那么语法是什么 请帮助,谢谢您可以使用as.list(1:4) [1]][1]1 [2][1]2 [3]][1]3 [4][1]4 编辑 或as.list(seq(4)) 编辑#2 下面是使用microbenchmark进行的速度比较: microbenchmark(as.list(1:4
list(1,2,3,4)
给出了四个列表
现在我不想写所有的数字,所以请尝试:
list(1:4)
给出了长度为4的列表
如果我想在不写所有数字的情况下列出四个,那么语法是什么
请帮助,谢谢您可以使用as.list(1:4)
[1]][1]1
[2][1]2
[3]][1]3
[4][1]4
编辑
或as.list(seq(4))
编辑#2
下面是使用microbenchmark
进行的速度比较:
microbenchmark(as.list(1:4), as.list(seq(4)), Map(c,1:4), sapply(1:4, list), times=1e6)
Unit: microseconds
expr min lq mean median uq max neval
as.list(1:4) 1.472 2.088 2.639712 2.314 2.584 32594.44 1e+06
as.list(seq(4)) 3.934 5.359 6.514579 5.818 6.337 31498.31 1e+06
Map(c, 1:4) 3.435 5.052 6.243628 5.516 6.041 32628.84 1e+06
sapply(1:4, list) 6.892 9.358 11.282727 10.009 10.757 34269.70 1e+06
您可以使用as.list(1:4)
[1]][1]1
[2][1]2
[3]][1]3
[4][1]4
编辑
或as.list(seq(4))
编辑#2
下面是使用microbenchmark
进行的速度比较:
microbenchmark(as.list(1:4), as.list(seq(4)), Map(c,1:4), sapply(1:4, list), times=1e6)
Unit: microseconds
expr min lq mean median uq max neval
as.list(1:4) 1.472 2.088 2.639712 2.314 2.584 32594.44 1e+06
as.list(seq(4)) 3.934 5.359 6.514579 5.818 6.337 31498.31 1e+06
Map(c, 1:4) 3.435 5.052 6.243628 5.516 6.041 32628.84 1e+06
sapply(1:4, list) 6.892 9.358 11.282727 10.009 10.757 34269.70 1e+06
我们可以用
sapply(1:4, list)
我们可以用
sapply(1:4, list)
您可以使用
Map
Map(c,1:4)
以致
> Map(c,1:4)
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
您可以使用
Map
Map(c,1:4)
以致
> Map(c,1:4)
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
如果将基准测试结果全部放在一个
microbenchmark()
调用中,那么阅读/比较基准测试结果会容易得多。@GregorThomas我认为这非常简单,但感谢您的建议-将更新。如果将基准测试结果全部放在一个microbenchmark()中,那么阅读/比较基准测试结果会容易得多
打电话。@GregorThomas我认为这很简单,但谢谢你的建议-会更新的。