没接触过面向对象的语言,运用R的时候还会保留一些过去的操作逻辑,比如构造循环啊什么的,这些东西R已经为你准备好了。
《O'reilly-R》练习4.1:第n个三角形数表示为n*(n+1)/2。创建一个包含前20个三角形数的序列。R有一个内置常数letters,它包含小写的英文字母。使用前20个英文字母来给你刚刚创建的序列元素命名。选择命名为元音的三角形数。
1 n
<-seq_len(
20)
2 tri_num
<-n
*(n
+1)
/2
3 names(tri_nums)
<-letters
[seq_along(n)]
4 (tri_num
[c("a","e","i","o")]
seq_along()要注意一下
官方给的解释:take the length from the length of this argument.
the length of this argument 的意思是什么?是创造一个和输入的值长度一样的序列吗?
不是
这里的长度指的是有点像matrix的length,这个变量中元素的数量。
n是一个20个元素的序列,所以这里创造了一个从1开始长度为20的序列
如果直接输入20的话,只会有一个元素被命名因为20就是的元素数量为1。
转载于:https://www.cnblogs.com/clclcl/p/9859037.html
相关资源:数据结构—成绩单生成器