R语言学习笔记,(1)基础及向量操作

一、基础部分(持续更新)

1、大小写明感

2、source(“d:/test.R”):可以执行对应目录下得test.R脚本。R中\符号为转义字符,所有目录中需使用/或者\\.。

3、sink(“d:/out.txt”):将后续的输出由终端转向一个外部文件,本例中为d;/out.txt。如果需要重新恢复到终端使用sink()。

4、print(x):打印x值。

5、注释只能使用#,单行注释,不支持多行注释。

二、数值与向量

1、为一个向量赋值x <- c(1, 2, 3)或者c(1, 2, 3) -> x 或者 assign(“x”,  c(1, 2, 3))。

2、y <- c(x, 1, x):将向量组合起来赋值给y,y为1 ,2,3,1,1,2,3,共7个元素。

3、max(x),min(x)得到x中最大、最小值。

4、length(x):向量x的长度。

5、sum(x),prod(x):向量x中所有元素的和与积。

6、mean(x),var(x):x向量的均值和方差。

7、pmin、pmax:做最大或最小值截断。

> pmin(10:1,5)
 [1] 5 5 5 5 5 5 4 3 2 1
> pmax(10:1,5)
 [1] 10  9  8  7  6  5  5  5  5  5


8、sort(x, TRUE),sort(x):对x进行降序,升序排列,返回排列后的一个向量。

9、sqrt(x):x开方,x可以为向量或者数字

10、1:30产生一个1到30的向量,类似于seq(1:30)。seq(1, 30 ,by=2):步长为2,seq(1:30, length=5):1到30均匀分成5等分。

11、rep(x, times=5): 产生一个新的向量重复x向量5次。

12、paste将字符按一定规律链接起来,可以任意多个参数,产生的向量长度桐参数中最长向量长度。

> labs <- paste(c("X","Y"), 1:10, sep="")
> labs
 [1] "X1"  "Y2"  "X3"  "Y4"  "X5"  "Y6"  "X7"  "Y8"  "X9"  "Y10"
> labs <- paste(c("X","Y"), 1:10)
> labs
 [1] "X 1"  "Y 2"  "X 3"  "Y 4"  "X 5"  "Y 6"  "X 7"  "Y 8"  "X 9"  "Y 10"
> labs <- paste(c("X","Y"), 1:10, sep="*")
> labs
 [1] "X*1"  "Y*2"  "X*3"  "Y*4"  "X*5"  "Y*6"  "X*7"  "Y*8"  "X*9"  "Y*10"

> c("x","y")[rep(c(1,2,3), times=5)]
 [1] "x" "y" NA  "x" "y" NA  "x" "y" NA  "x" "y" NA  "x" "y" NA 
> c("x","y")[rep(c(1,2,1), times=5)]
 [1] "x" "y" "x" "x" "y" "x" "x" "y" "x" "x" "y" "x" "x" "y" "x"


13、y <- x[x>3]:将x中大于3的元素作为y的元素

         y<- (x+)(x>3):首先将x中所有元素+1,然后将大于3的元素作为y的元素。

14、向量可以通过下表访问:x[8]表示第8个元素,x[1:10]表示,如果是负数,表示去掉对应的元素

> x[-2:-3]
[1] 0 4
> x
[1] 0 2 3 4

15、names属性可以使用字符串作为索引,还不是太了解,看着下面的例子有点像map数据结构。

> x
[1] 0 2 3 4
> names(x) <- c("a","b","c","d")

> x["a"]


> x["b"]


> x[c("a", "b")]
a b 
0 2 


16、x[is.na(x)] <- 0:将NA元素用0代替。

17、向量中如果有字符串,其他数字将被转换为字符串。

> z <- c(1, 'b', 23)
> z
[1] "1"  "b"  "23"




你可能感兴趣的:(R语言)