[R列清單比1
回答
的seq
命令執行此操作。執行seq(1,10,1)
做什麼1:10
。但是,您可以將最後一個參數更改爲其他參數,以便可以採取任意大小的步驟。
> #a vector of even numbers
> seq(0, 10, 2)
> [1] 0 2 4 6 8 10
另外,你所做的是一個矢量,而不是一個列表。一個列表可以包含許多完全不同類型的信息,而向量在索引的每個位置都包含相同類型的值。
由於R使用矩陣,所以可以使用標量乘法來修改向量中的每個元素。
> r <-c(0:10)
> r <- r * 2
> r
[1] 0 2 4 6 8 10 12 14 16 18 20
或
> r <-c(0:10)*2
> r
[1] 0 2 4 6 8 10 12 14 16 18 20
我認爲特別是對於R和新手來說,除非你真的在談論這些數據類型之一,否則不要拋棄「數組」,「列表」和「矩陣」這兩個字。你創建的對象是一個向量。它不是矩陣或數組。 – adamleerich
是的,我滑倒並將矢量稱爲數組。我的壞 –
如果你想使用':' – useR
令我驚訝的是,@ Travis的解決方案速度相當快(4倍)。除非你做的東西真的很大(並且序列生成結果是限制因素),否則我仍然會投票支持seq
,因爲它更容易閱讀。
編輯:正如Marek指出的,seq.int
更快。
> library(rbenchmark) # Note spelling: "rbenchmark", not "benchmark"
> benchmark(seq(0,1e6,by=2),(0:5e5)*2,seq.int(0L,1e6L,by=2L))
test replications elapsed relative user.self sys.self
2 (0:5e+05) * 2 100 0.587 3.536145 0.344 0.244
1 seq(0, 1e+06, by = 2) 100 2.760 16.626506 1.832 0.900
3 seq.int(0, 1000000, by = 2) 100 0.166 1.000000 0.056 0.096
如果你需要快速解決方案,那麼'seq.int(0L,1e6L,by = 2L)' – Marek
- 1. 清單中的R
- 2. 排序使用比較清單列表
- 3. 列表列表清單列表清單
- 4. Python的轉置列清單列清單
- 5. R dataframe集合清單
- 6. 如何清除GridView的列比指數1
- 7. 將清單預先列入清單
- 8. 添加在R比列
- 9. 比較R中的多列
- 10. 清單序列號
- 11. coldfusion清單列表
- 12. OCaml:列表清單
- 13. C#列表清單?
- 14. 列表清單列表
- 15. 如何在R中保存列表清單?
- 16. 從清單列表中創建稀疏矩陣 - R
- 17. R:查找數據幀的列清單的最大/最小
- 18. R列表與清單,申請前檢查xPath
- 19. ReactJS Koans雜貨清單第1部分
- 20. [R從清單,如果else語句
- 21. Python比較和構建字典的清單列表
- 22. 最好的方法,比較了在清單列表,並與Python
- 23. ClickOnce部署錯誤:不同的計算散列比清單
- 24. Linq清單列表到單個列表
- 25. r - 將特殊訂單中的2列合併爲1
- 26. [R串清潔
- 27. 列表清單列表:如何根據用戶輸入列出清單列表?
- 28. 比較清單火力地堡的Android
- 29. 對比清單到字符串
- 30. 從R數據框清單中清除Inf值
我敢打賭,通過掃描[手冊]的前幾十個條目,可以很快地發現問題的答案(http://cran.r-project.org/doc/manuals/R -intro.html)。 (提示:2.3) – joran