4、对象改值
4.1、就地改值
比如:
vec <- c(0,0,0,0,0,0,0)
vec[1]<-100 #vec向量的第一个值就变为100
####对于数据框的改值的方法,如下面的例子
df <- data.frame(face=c("ace","two","six"),suit=c("clubs","clubs","clubs"),values=c(1,2,3)) #创建一个数据框df
4.2、逻辑值取子集
vec[c[FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE]]
###返回值是 0 0 0 ###返回的是TRUE位置对应的向量的值
4.2.1 逻辑测试
1>2 #返回FALSE
1>c(0,1,2) ###返回的值是 TRUE FALSE FALSE
c(1,2,3)==c(3,2,1) ###返回的值是 FALSE TRUE FALSE
##%in% 的作用是测试其左边的值是否出现在其右边的对象之中,也是##唯一一个不进行一一对比的运算符。
1 %in% c(2,3,4) ### FALSE
c(1,2) %in% c(3,4,5) ###FALSE FALSE
还有要注意的就是布尔运算符 和其他的语言)(java 或者c)的运算规则基本是一致的
4.3 缺失信息
R中的特殊信息 NA 代表的是不可用,可以存储缺失信息,
mean(c(NA,1:50),na.rm=TRUE)
5、R的环境系统
5.1 R的作用域规则
(1)R首先在当前的活动环境中搜索对象
(2)在命令行中工作时,活动环境就是全局环境。因此,命令行中的所有调用都发生在全局环境中,当所要搜索的对象不在当前的活动环境中时,R会按照以下的规则进行搜索: 在命令行中调用对象时,首先在全局环境中搜索,如果在全局环境中找不到该对象,R会依次进入该环境的父环境,该父环境的父环境,直到在某个上层环境中找到该对象为止,如果还是没有找到,R会返回一个错误信息。
5.2 R的函数的一些规则
R在每一次的函数求值时都会创建一个新的运行时环境。
print(pi) ###返回值是 3.1415926