统计学—基于R 第一章 数据处理

> x<-c(1,2,3) #将3个数据赋值给对象x
> x
[1] 1 2 3
> a<-c("a","b","c")
> a
[1] "a" "b" "c"
> barplot(x)  #绘制对象x的条形图

> m<-1:9           #生成1~9数值向量
> mat<-matrix(a,   #创建向量m的矩阵
+ nrow=2,ncol=3,   #矩阵行数2,列数3
+ byrow=TRUE)      #按行填充矩阵的元素
> mat 
     [,1] [,2] [,3]
[1,] "a"  "b"  "c" 
[2,] "a"  "b"  "c" 
> t(mat)       对矩阵mat转置
     [,1] [,2]
[1,] "a"  "a" 
[2,] "b"  "b" 
[3,] "c"  "c" 

> colnames(mat)=c("m","n","s")
> rownames(mat)=c("m","n")        #给矩阵行列分别命名
> mat
  m   n   s  
m "a" "b" "c"
n "a" "b" "c"

> names<-c("刘文涛","王宇","田思雨","徐娜","丁文彬")
> stat<-c(65,78,56,70,74)
> math<-c(99,88,77,66,55)
> econ<-c(45,34,67,23,90)
> table1<-data.frame(学生姓名=names,统计学=stat,数学=math,经济学=econ) #将数据组成数据框形式存入table1中
> table1
  学生姓名 统计学 数学 经济学
1   刘文涛     65   99     45
2     王宇     78   88     34
3   田思雨     56   77     67
4     徐娜     70   66     23
5   丁文彬     74   55     90
> head(table1,3)               #显示前三行
  学生姓名 统计学 数学 经济学
1   刘文涛     65   99     45
2     王宇     78   88     34
3   田思雨     56   77     67
> tail(table1,3)               #显示后三行
  学生姓名 统计学 数学 经济学
3   田思雨     56   77     67
4     徐娜     70   66     23
5   丁文彬     74   55     90

> library(dplyr)  #加载包

载入程辑包:‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

> arrange(table1,学生姓名)      #按姓名排序并输出
  学生姓名 统计学 数学 经济学
1   丁文彬     74   55     90
2   刘文涛     65   99     45
3   田思雨     56   77     67
4     王宇     78   88     34
5     徐娜     70   66     23
> arrange(table1,desc(数学))   #按数学分数降序排列
  学生姓名 统计学 数学 经济学
1   刘文涛     65   99     45
2     王宇     78   88     34
3   田思雨     56   77     67
4     徐娜     70   66     23
5   丁文彬     74   55     90


table1_1<-read.csv("D:/289250《统计学—基于R》(第4版)—例题和习题数据/《统计学—基于R》(第4版)—例题和习题数据(公开资源)/example/chap01/table1_1.csv")  #将table1_1导入
> table1_1
    姓名 统计学 数学 经济学
1 刘文涛     68   85     84
2 王宇翔     85   91     63
3 田思雨     74   74     61
4 徐丽娜     88  100     49
5 丁文彬     63   82     89

> library(reshape2)
> tab.long<-melt(table1_1,id.vars="姓名",variable.name="课程",value.name="分数")   #融合table1_1与id变量,变量名=“课程”,数值名=“分数”
> tab.long
     姓名   课程 分数
1  刘文涛 统计学   68
2  王宇翔 统计学   85
3  田思雨 统计学   74
4  徐丽娜 统计学   88
5  丁文彬 统计学   63
6  刘文涛   数学   85
7  王宇翔   数学   91
8  田思雨   数学   74
9  徐丽娜   数学  100
10 丁文彬   数学   82
11 刘文涛 经济学   84
12 王宇翔 经济学   63
13 田思雨 经济学   61
14 徐丽娜 经济学   49
15 丁文彬 经济学   89

> rnorm(n=20,mean=0,sd=1)                                 #产生20个标准正态分布随机数
 [1]  0.041778499 -0.813617619 -0.792105013  0.579581033
 [5]  1.784086603  0.869476694  0.092839511  0.347027823
 [9]  1.339232069 -0.601451005  0.344647300 -0.223788956
[13]  0.007757372 -1.472627316 -1.082258100 -0.514999363
[17]  2.672550913 -0.925236623  0.284640606  0.265435655
> set.seed(15)
> N<-1:20
> n1<-sample(N,size=10);n1                              #无放回抽取10个数据
 [1]  5 15 10  2  9  6  1 20 16 11
> n2<-sample(N,size=10,replace=TRUE);n2                 #有放回抽取10个数据
 [1] 20  6  1 12  5  2 10  3  2 20                      #每次代码运行会产生不同的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值