没接触过面向对象的语言,运用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
时间: 2024-11-06 03:32:57