摘要: 上文介绍了,如何生成序列,本文介绍一下如何取出其数据子集取出元素的逻辑值> x x>0 [1] FALSE FALSE TRUE FALSE TRUE TRUE TRUE 取出符合条件的值的值> x[x>0] [1] 4 45 90 5 > x[x>5 | x x[x>1 & x x[-1] [1] -3 4 -1 45 90 5 > x[-c(3,4)] [1] 0 -3 45 90 5 利用字符串索引,可以利用names()函数,... 阅读全文
posted @ 2013-11-10 14:42 joey周琦 阅读(1299) 评论(0) 推荐(0) 编辑
摘要: R提供了多种生成不同类型序列的方法。如:> x x [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 注意元算符”:”的优先级 > 10:15-1 [1] 9 10 11 12 13 14 > 10:(15-1) [1] 10 11 12 13 14 倒序 > 5:0 [1] 5 4 3 2 1 0利用函数seq(),可以按照顺序写,这样的话不用写出参数的名称。但是若打乱顺序,必须显示的写出参数名称。不是每一个参数都必须写出来。 > seq(-4... 阅读全文
posted @ 2013-11-10 14:30 joey周琦 阅读(3720) 评论(0) 推荐(0) 编辑
摘要: 因子提供了一个简单并且紧凑的形式来处理分类(名义上的)数据。因子用”水平level”来表示所有可能的取值。如果数据集有取值个数固定的名字变量,因子就特别有用。> g g [1] "f" "m" "f" "f" "m" > g g [1] f m f f m Levels: f m#有几种可选的值 若五个人全部是m,但是你需要两个备选值,可以用如下语法 > other.g other.g [1] m m m m m Levels: f m 计算每个元素出现的次数,使用table( 阅读全文
posted @ 2013-11-10 14:05 joey周琦 阅读(3717) 评论(0) 推荐(0) 编辑
摘要: R语言最强大的方面之一就是函数的向量化,这些函数可以直接对向量的每个元素进行操作。例如:对每个元素进行开方> v v [1] 4.0 3.0 8.0 16.0 7.3 > x x [1] 2.000000 1.732051 2.828427 4.000000 2.701851 向量之间的加和: > v1 v2 v1+v2 [1] 6 7 5> v2 v1 v1+v2#若两个向量长度不一样,编译器会给出警告,但是不会出现错误。会遵循“循环原则” [1] 6 7 4 警告信息: In v1 + v2 : 长... 阅读全文
posted @ 2013-11-10 13:44 joey周琦 阅读(1320) 评论(0) 推荐(0) 编辑
摘要: 1.简单会话> x x[1] 1 2 4R语言的标准赋值运算符是 q q[1] 1 2 4 1 2 4 8取q中的某个元素,R下标是从1开始的。> q[2][1] 2利用现有函数求均值,方差mean(q)sd(q)#“#”为注释符号2.函数入门:创建一个计算计数个数的函数> oddcount oddcount(c(1,2,3,-1,5))[1] 43.R语言中的数据结构向量R语言中,把标量或单个数字,作为一个一元向量。很多操作,函数都是针对向量的。x x [1] 5 1 13 2length(x)#返回向量x的长度 [1] 4mode(x)#返回向量的类型 [1... 阅读全文
posted @ 2013-11-08 13:22 joey周琦 阅读(3704) 评论(0) 推荐(0) 编辑
摘要: 本文主要分析,返回&,和返回值加const的作用。返回&定义一个数组模板:templateclass Array{enum{size = 100};T A[size];public:T& operator [](int index){//如果返回的没有引用,该操作符就不能作为左值了!!//返回引用,表示返回对象本身,而不是对象的值。require(index>=0 && index ia;ia[0]=1;//如果返回不加引用,编译器会提醒出错2.返回加const.当返回值加了关键字const之后,返回的值又不能做左值了,即Array ia;ia[0 阅读全文
posted @ 2013-11-06 11:30 joey周琦 阅读(636) 评论(0) 推荐(0) 编辑
摘要: %%使用print函数,第一个参数一定是figure的句柄,第二个参数设置格式,第三个参数是指定文件夹%代码如下h=figure;plot(1:10);print(h,'-djpeg','F:\pic\1.jpg');%具体细节,在matlab 中输入,help print,查看! 阅读全文
posted @ 2013-11-01 17:20 joey周琦 阅读(2105) 评论(0) 推荐(0) 编辑
摘要: 不要在头文件中使用(using namespace std;)。若你使用了using namespace std;,在某一头文件中,那么包含这些头文件的文件就失去了"namespace protection",这样实际上就丢掉了命名空间的实际意义了(避免文件之间变量的命名重复)。 阅读全文
posted @ 2013-10-29 16:27 joey周琦 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 散列表是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 散列表是普通数组概念的推广,它支持insert,search,delete操作。在实践中,它的效率还是很高的,在一些合理的假设下,在散列表中查找一个元素的期望时间为O(1).1直接寻址表如下图,在关键字全域U,比较小时,直接寻址是一种简单而有效的技术。其实操作类似于数组了,只不过索引是key(关键字)。这时的操作比较简单如下:2散列表(哈希表)直接寻址有个明显的问题,如果域U. 阅读全文
posted @ 2013-10-29 15:13 joey周琦 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 重载操作符,只是另外一种调用函数的方法和表现方式,在某些情况它可以让代码更简单易读。注意不要过度使用重载操作符,除非它让你的类更简单,让你的代码更易读。1语法如下:其中友元,关键字不是必须的,但是当你需要读参数类的内部变量时候,声明就需要加上friend.friend Money operator +(const Money & amount1,const Money& amount2); friend bool operator ==(const Money & amount1,const Money& amount2); friend Money opera 阅读全文
posted @ 2013-10-28 21:44 joey周琦 阅读(432) 评论(0) 推荐(0) 编辑