0.面向对象的操作逻辑&seq_along

Posted clclcl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0.面向对象的操作逻辑&seq_along相关的知识,希望对你有一定的参考价值。

没接触过面向对象的语言,运用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。

 

以上是关于0.面向对象的操作逻辑&seq_along的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记-面向对象进阶&异常处理

逻辑非(!)与(&&)或(||)

面向对象和面向过程的区别

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

函数——面向对象(oop&&构造函数&原型链)

Python--面向对象3大特性&类和对象&类的定义和使用&构造方法和析构方法