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 t5) #[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 5) ## [1] 5 6 7 数据框 数据框是一种表格式的数据结构。数据框旨在模拟数据集,与其他统计软件例如 SAS、SPSS 中的数据 集的概念一致 数据集通常是由数据构成的一个矩形数组,行:观测;列:变量。(是元素) 矩阵必须为同一数据类型数据框每一列必须同一类型,每一行可以不同 ?data.frame state <- data.frame(state.name,state.abb,state.region,state.x77)# 合并 5
state[1] state.name ##Alabama Alabama #Alaska Alaska ##Arizona Arizona ##Arkansas Arkansas #California California #Colorado Colorado #Connecticut Connecticut ##Delaware Delaware #Florida Florida ##Georgia Georgia ##Hawaii Hawaii ##Idaho Idaho ##Illinois Illinois #Indiana Indiana ##Iowa Iowa #Kansas Kansas ##Kentucky Kentucky #Louisiana Louisiana ##Maine Maine ##Maryland Maryland #Massachusetts Massachusetts ##Michigan Michigan ##Minnesota Minnesota #Mississippi Mississippi ##Missouri Missouri ##Montana Montana #Nebraska Nebraska #Nevada Nevada #New Hampshire New Hampshire #鞋New Jersey New Jersey ##New Mexico New Mexico ##New York New York #North Carolina North Carolina #North Dakota North Dakota ##Ohio Ohio ##Oklahoma Oklahoma ##Oregon Oregon
state[1] ## state.name ## Alabama Alabama ## Alaska Alaska ## Arizona Arizona ## Arkansas Arkansas ## California California ## Colorado Colorado ## Connecticut Connecticut ## Delaware Delaware ## Florida Florida ## Georgia Georgia ## Hawaii Hawaii ## Idaho Idaho ## Illinois Illinois ## Indiana Indiana ## Iowa Iowa ## Kansas Kansas ## Kentucky Kentucky ## Louisiana Louisiana ## Maine Maine ## Maryland Maryland ## Massachusetts Massachusetts ## Michigan Michigan ## Minnesota Minnesota ## Mississippi Mississippi ## Missouri Missouri ## Montana Montana ## Nebraska Nebraska ## Nevada Nevada ## New Hampshire New Hampshire ## New Jersey New Jersey ## New Mexico New Mexico ## New York New York ## North Carolina North Carolina ## North Dakota North Dakota ## Ohio Ohio ## Oklahoma Oklahoma ## Oregon Oregon 6
#Pennsylvania Pennsylvania #Rhode Island Rhode Island #South Carolina South Carolina #South Dakota South Dakota #样Tennessee Tennessee ##Texas Texas ##Utah Utah Vermont Vermont #Virginia Virginia ##Washington Washington #West Virginia West Virginia #样Wisconsin Wisconsin ##Wyoming Wyoming state[c(2.4)] state.abb Population ##Alabama #料A1aska #Arizona 2 2212 ##Arkansas 2110 ##California CA 21198 #Colorado 2541 ##Connecticut CT 3100 Delaware ##Florida ##Georgia GA ##Hawaii ##Idaho D 813 ##Illinois 197 #Indiana 5313 #Iowa ##Kansas #Kentucky #Louisiana 0e ##Maine ME 1058 #Maryland ##Massachusetts MA 5814 #Michigan #Minnesota MN 3921 #Mississippi MS 2341
## Pennsylvania Pennsylvania ## Rhode Island Rhode Island ## South Carolina South Carolina ## South Dakota South Dakota ## Tennessee Tennessee ## Texas Texas ## Utah Utah ## Vermont Vermont ## Virginia Virginia ## Washington Washington ## West Virginia West Virginia ## Wisconsin Wisconsin ## Wyoming Wyoming state[c(2,4)] ## state.abb Population ## Alabama AL 3615 ## Alaska AK 365 ## Arizona AZ 2212 ## Arkansas AR 2110 ## California CA 21198 ## Colorado CO 2541 ## Connecticut CT 3100 ## Delaware DE 579 ## Florida FL 8277 ## Georgia GA 4931 ## Hawaii HI 868 ## Idaho ID 813 ## Illinois IL 11197 ## Indiana IN 5313 ## Iowa IA 2861 ## Kansas KS 2280 ## Kentucky KY 3387 ## Louisiana LA 3806 ## Maine ME 1058 ## Maryland MD 4122 ## Massachusetts MA 5814 ## Michigan MI 9111 ## Minnesota MN 3921 ## Mississippi MS 2341 7
##Missouri % 4767 #Montana ##Nebraska E 8 #Nevada #New Hampshire NH ##New Jersey 7333 #New Mexico 1144 ##New York 18076 #North Carolina ##North Dakota ##0hi0 10735 K 271E ##Oregon 2284 #Pennsylvania PA 1860 #Rhode Island #South Carolina ##South Dakota ##Tennessee 4173 ##Texas 1237 ##Utah T 1203 #Vermont 472 ##Virginia VA 4981 ##Washington WA 359 #料West Virginia 1799 #Wisconsin WI 4589 ##Wyoming 376 state[,"state.abb"] #[1】"AL”"AK "AZ""AR" "CA"C0"CT"DEFL”"GA""H"ID"IL""IN"IA" #[16]"KS”"KY#"LA""MEn"HD""MA""MT”"MN""MS"MO "MTM"NE”"NV""N阻"NJn #[31]"NM""NY" "NC "ND "OH "OK"OR”"PA [46]"VA""WA""WV "WI""WY state["Alabama",】*勿忘加逗号 排排 state.name state.abb state.region Population Income Illiteracy Life.Exp ##AlabamaAlabama AL South 3615 3624 2. 69.05 Murder HS.Grad Frost Area ##Alabama 15.1 41.3 2050708
## Missouri MO 4767 ## Montana MT 746 ## Nebraska NE 1544 ## Nevada NV 590 ## New Hampshire NH 812 ## New Jersey NJ 7333 ## New Mexico NM 1144 ## New York NY 18076 ## North Carolina NC 5441 ## North Dakota ND 637 ## Ohio OH 10735 ## Oklahoma OK 2715 ## Oregon OR 2284 ## Pennsylvania PA 11860 ## Rhode Island RI 931 ## South Carolina SC 2816 ## South Dakota SD 681 ## Tennessee TN 4173 ## Texas TX 12237 ## Utah UT 1203 ## Vermont VT 472 ## Virginia VA 4981 ## Washington WA 3559 ## West Virginia WV 1799 ## Wisconsin WI 4589 ## Wyoming WY 376 state[,"state.abb"] ## [1] "AL" "AK" "AZ" "AR" "CA" "CO" "CT" "DE" "FL" "GA" "HI" "ID" "IL" "IN" "IA" ## [16] "KS" "KY" "LA" "ME" "MD" "MA" "MI" "MN" "MS" "MO" "MT" "NE" "NV" "NH" "NJ" ## [31] "NM" "NY" "NC" "ND" "OH" "OK" "OR" "PA" "RI" "SC" "SD" "TN" "TX" "UT" "VT" ## [46] "VA" "WA" "WV" "WI" "WY" state["Alabama",] # 勿忘加逗号 ## state.name state.abb state.region Population Income Illiteracy Life.Exp ## Alabama Alabama AL South 3615 3624 2.1 69.05 ## Murder HS.Grad Frost Area ## Alabama 15.1 41.3 20 50708 8
statesMurder #[1】15.111.37.810.110.36.83.16.210.713.96.25.310.37.12.3 #[164.510.613.22.78.53.311.12.312.59.35.02.911.53.35.2 #[31]9.710.911.11.47.46.44.26.12.411.61.711.012.24.55.5 ¥#[4619.54.36.73.06.9 women height weight 3 4 1 #5 62 129 359 #10 12 56880 #14 159 #鞋15 164 plot(womensheight,omen$eight)#筒单绘制散点图
state$Murder ## [1] 15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 6.2 5.3 10.3 7.1 2.3 ## [16] 4.5 10.6 13.2 2.7 8.5 3.3 11.1 2.3 12.5 9.3 5.0 2.9 11.5 3.3 5.2 ## [31] 9.7 10.9 11.1 1.4 7.4 6.4 4.2 6.1 2.4 11.6 1.7 11.0 12.2 4.5 5.5 ## [46] 9.5 4.3 6.7 3.0 6.9 women ## height weight ## 1 58 115 ## 2 59 117 ## 3 60 120 ## 4 61 123 ## 5 62 126 ## 6 63 129 ## 7 64 132 ## 8 65 135 ## 9 66 139 ## 10 67 142 ## 11 68 146 ## 12 69 150 ## 13 70 154 ## 14 71 159 ## 15 72 164 plot(women$height,women$weight) # 简单绘制散点图 9
0 0 T 58 60 62 64 66 68 70 72 womenSheight 利用飞m函数进行线性回归 lm(weight-height,data-women) 样拼 #Ca11 #1m(formula weight height,data women) ##Coefficients: height -87.52 3.45 常见错误 1.定义向量时,要加c2.赋值符号是<;用”t”+“.”可以自动生成<3.注意括号正确使用4.引号 的正确使用:字符串要加”“搜索r包时要加”:5.逗号分制。对数据框进行或者列单独取出 记得加 逗号6.=一是比较7.有时候没有某个函数,是因为要先载入r包8.严格区分大小写 获取数据 利用键盘来输入数据 patientID<-c(1,2,3,4) admdate<-c("10/15/2009","11/01/2009","10/21/2009","10/28/2009") ge<c(25,34,28,52) diabetes <-c("Type1","Type2","Type1","Type1") status <-c("Poor","Improved","Excellent","Poor") 10
58 60 62 64 66 68 70 72 120 130 140 150 160 women$height women$weight # 利用 lm 函数进行线性回归 lm(weight~height, data=women) ## ## Call: ## lm(formula = weight ~ height, data = women) ## ## Coefficients: ## (Intercept) height ## -87.52 3.45 常见错误 1. 定义向量时,要加 c 2. 赋值符号是 <-; 用”alt”+“-” 可以自动生成 <- 3. 注意括号正确使用 4. 引号 的正确使用:字符串要加”“; 搜索 r 包时要加”“; 5. 逗号分割。对数据框进行或者列单独取出,记得加 逗号 6.== 是比较 7. 有时候没有某个函数,是因为要先载入 r 包 8. 严格区分大小写 获取数据 利用键盘来输入数据 patientID <- c(1,2,3,4) admdate <-c("10/15/2009","11/01/2009","10/21/2009","10/28/2009") age <- c(25,34,28,52) diabetes <- c("Type1","Type2","Type1","Type1") status <- c("Poor","Improved","Excellent","Poor") 10