Intro to R 向量 用函数c0来创建向量(数组)c代表concatenate连接 #输出等差数列 c(1:10) #[1]12345678910 seq(from=1,to=10,by=2) #[1]13579 #seg(from=起始数,to=结尾数,by=间隔,ength.out=输出数量) #重与给出 rep(数组,次数) x<-c(1.2.3.4.5) rep(x,5) #[1]1234512345123451234512345 rep(x,each=5) #[1]1111122222333334444455555 #1111122222333334444455555 #一个数组里面的向量必须是同一类型 c(1,2,"three")#字符串一定要加双引号 #[1]"1”"2” "three" #"1""2n"three” #导致前面的数字向量全部变成字符串 #(何类型便于处理) #~向量化编程可以省略循环,比如: x<-c(1,2,3,4,5) y<-c(6,7,8,9,10)
Intro to R 向量 用函数 c() 来创建向量(数组)c 代表 concatenate 连接 # 输出等差数列 c(1:10) ## [1] 1 2 3 4 5 6 7 8 9 10 seq(from=1,to=10,by=2) ## [1] 1 3 5 7 9 #seq(from = 起始数, to = 结尾数, by = 间隔, length.out = 输出数量) # 重复输出 #rep(数组, 次数) x<-c(1,2,3,4,5) rep(x,5) ## [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 rep(x,each=5) ## [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 #1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 # 一个数组里面的向量必须是同一类型 c(1, 2, "three") # 字符串一定要加双引号 ## [1] "1" "2" "three" # "1" "2" "three" # 导致前面的数字向量全部变成字符串 #(同类型便于处理) # - 向量化编程可以省略循环,比如: x <- c(1, 2, 3, 4, 5) y <- c(6, 7, 8, 9, 10) 1
x*2+y #[1]811141720 #811141720 #-使用c()来控制循环的次数 x<-c(1,2,3,4,5) rep(x,c(2,4,1,1,3) #[1]11222234555 #11222234555 R是统计学软件,为了方便对数据进行大量的操作,故用向量化编程 向量索引 #length(缘组)#数组数量 #数组[位置】#输出数组某个向量 教组[位置]来输出除了选中位置其余的所有向量 x<-1:10 x[c(4:9)]#输出第4-18个元素 #[1]456789 x[-2] #[1)1345678910 x<-1:10 #[1]12345678910 x+1 #[1]234567891011 x<-x+1 #[1]234567891011 x<-5:5 abs(x) #[1]54321012345
x * 2 + y ## [1] 8 11 14 17 20 # 8 11 14 17 20 # - 使用 c() 来控制循环的次数 x <- c(1, 2, 3, 4, 5) rep(x, c(2, 4, 1, 1, 3)) ## [1] 1 1 2 2 2 2 3 4 5 5 5 # 1 1 2 2 2 2 3 4 5 5 5 R 是统计学软件,为了方便对数据进行大量的操作,故用向量化编程 向量索引 #length(数组) # 数组数量 # 数组 [位置] # 输出数组某个向量 # 数组 [-位置] # 输出除了选中位置其余的所有向量 x <- 1:10 x[c(4:9)] # 输出第 4~18 个元素 ## [1] 4 5 6 7 8 9 x[-2] ## [1] 1 3 4 5 6 7 8 9 10 x <- 1:10 x ## [1] 1 2 3 4 5 6 7 8 9 10 x+1 ## [1] 2 3 4 5 6 7 8 9 10 11 x <- x+1 x ## [1] 2 3 4 5 6 7 8 9 10 11 x <- -5:5 abs(x) ## [1] 5 4 3 2 1 0 1 2 3 4 5 2
x =abs(x) sqrt(x) #[1]2.2360682.0000001.7320511.4142141.0000000.0000001.0000001.414214 #[9]1.7320512.0000002.236068 1og(16,ba3e=2) #[1]4 1og(10)#默认为自然对数 #[1]2.302585 1og10(10) #[1]1 exp(x)来计算指数 ##「11148.41315954.59815020.0855377.3890562.718282 1.000000 #[7]2.7182827.38905620.08553754.598150148.413159 ce11ing(c(-2.3,3.1415)#大于向量中元素的最大整数 #[1]-24 f100r(c(-2.3,3.1415)#不大于向量中元素的最大整数 #[1]-33 trunc(c(-2.3,3.1415)#向量中元素的整数部分 #[1]-23 round(c(-2.3,3.1415)#四舍五入 #[1]-23 round(c(-2.3,3.1415),digits=2)#四舍五入且保留两位小数 #[1]-2.303.14 s1gm1f(c(-2.3,3.1415),d1g1t8=2)#保留两位有效数字 #[1]-2.33.1 sin(x) #[1]-0.9589243-0.75680250.14112000.90929740.84147100.0000000 #[70.84147100.90929740.1411200-0.7568025-0.9589243
x = abs(x) sqrt(x) ## [1] 2.236068 2.000000 1.732051 1.414214 1.000000 0.000000 1.000000 1.414214 ## [9] 1.732051 2.000000 2.236068 log(16,base=2) ## [1] 4 log(10) # 默认为自然对数 ## [1] 2.302585 log10(10) ## [1] 1 exp(x) # 计算指数 ## [1] 148.413159 54.598150 20.085537 7.389056 2.718282 1.000000 ## [7] 2.718282 7.389056 20.085537 54.598150 148.413159 ceiling(c(-2.3,3.1415))# 大于向量中元素的最大整数 ## [1] -2 4 floor(c(-2.3,3.1415))# 不大于向量中元素的最大整数 ## [1] -3 3 trunc(c(-2.3,3.1415))# 向量中元素的整数部分 ## [1] -2 3 round(c(-2.3,3.1415))# 四舍五入 ## [1] -2 3 round(c(-2.3,3.1415),digits=2)# 四舍五入且保留两位小数 ## [1] -2.30 3.14 signif(c(-2.3,3.1415),digits=2)# 保留两位有效数字 ## [1] -2.3 3.1 sin(x) ## [1] -0.9589243 -0.7568025 0.1411200 0.9092974 0.8414710 0.0000000 ## [7] 0.8414710 0.9092974 0.1411200 -0.7568025 -0.9589243 3
cos(x) #[1]0.2836622-0.6536436-0.9899925-0.41614680.54030231.0000000 ##[7]0.5403023-0.4161468-0,9899925-0.65364360.2836622 描述统计 vec<-1:100 vec #[1]123456789101112131415161718 #[19]192021222324252627282930313233343536 #[37]373839404142434445464748495051525354 #[55]555657585960616263646566676869707172 #[73】737475767778798081828384 85 8687 8889 90 ##[91]919293949596979899100 sum(vec) #[1]5050 max(vec) #[1]100 min(vec) #[1]1 range(vec) #[1]1100 mean(vec)#平均数 #[1]50.5 var(vec) #[1]841.6667 round(var(vec)) #[1]842 round(var(vec),digits-2) #[1]841.67
cos(x) ## [1] 0.2836622 -0.6536436 -0.9899925 -0.4161468 0.5403023 1.0000000 ## [7] 0.5403023 -0.4161468 -0.9899925 -0.6536436 0.2836622 描述统计 vec <- 1:100 vec ## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ## [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ## [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ## [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ## [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 ## [91] 91 92 93 94 95 96 97 98 99 100 sum(vec) ## [1] 5050 max(vec) ## [1] 100 min(vec) ## [1] 1 range(vec) ## [1] 1 100 mean(vec) # 平均数 ## [1] 50.5 var(vec) ## [1] 841.6667 round(var(vec)) ## [1] 842 round(var(vec),digits=2) ## [1] 841.67 4
round(sd(vec),digits=-2)#sdO,标准差 #[1]29.01 prod(vec)#连乘,将所有的元素相乘 #[1]9.332622e+157 median(vec)#中位数 #[1]50.5 quanti1e(vec)#0%25K50%75%100%分位数 #0%25%50%75%100% #1.0025.7550.5075.25100.00 quantile(vec,c(0.4,0.5,0.8)) #40%50%80% #40.650.580.2 t<-c(1,4,2,5,7,9,6) #[1]1425796 which.max(t) #[1]6 which(t==7) #[1]5 which(t>5) #[1]567 数据框 数据框是一种表格式的数据结构。数据框旨在模拟数据集,与其他统计软件例如SAS、SPSS中的数据 集的概念一致 数据集通常是由数据构成的一个矩形数组,行:观测;列:变量。(是元素) 矩阵必须为同一数据类型数据框每一列必须同一类型,每一行可以不同 ?data.frame state <-data.frame(state.name,state.abb,state.region,state.x77)#
round(sd(vec),digits=2) #sd(), 标准差 ## [1] 29.01 prod(vec) # 连乘,将所有的元素相乘 ## [1] 9.332622e+157 median(vec) # 中位数 ## [1] 50.5 quantile(vec) #0% 25% 50% 75% 100% 分位数 ## 0% 25% 50% 75% 100% ## 1.00 25.75 50.50 75.25 100.00 quantile(vec,c(0.4,0.5,0.8)) ## 40% 50% 80% ## 40.6 50.5 80.2 t <- c(1,4,2,5,7,9,6) t ## [1] 1 4 2 5 7 9 6 which.max(t) ## [1] 6 which(t==7) ## [1] 5 which(t>5) ## [1] 5 6 7 数据框 数据框是一种表格式的数据结构。数据框旨在模拟数据集,与其他统计软件例如 SAS、SPSS 中的数据 集的概念一致 数据集通常是由数据构成的一个矩形数组,行:观测;列:变量。(是元素) 矩阵必须为同一数据类型数据框每一列必须同一类型,每一行可以不同 ?data.frame state <- data.frame(state.name,state.abb,state.region,state.x77)# 合并 5