Rstudio常用操作

1、数据读取
> student_score_data<-read.table("C:/Users/wpguoc/Desktop/cnm.csv",sep = ",",header = T)
> student_score_data
学生姓名 统计学 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
4 徐丽娜 88 100 49 71 66
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
9 张建国 58 51 79 91 85
10 张志杰 63 70 91 85 82
2、描述性统计
# 按照学生姓名升序排列 > student_score_data[order(student_score_data$学生姓名),] 学生姓名 统计学 数学 营销学 管理学 会计学 7 宋丽媛 90 78 59 72 66 3 田思雨 74 74 61 80 69 2 王宇翔 85 91 63 76 66 6 王智强 78 84 51 60 60 4 徐丽娜 88 100 49 71 66 8 袁芳芳 80 100 53 73 70 9 张建国 58 51 79 91 85 1 张青松 68 85 84 89 86 10 张志杰 63 70 91 85 82 5 赵莹莹 63 82 89 91 85 # 按照数学成绩降序排列 > student_score_data[order(-student_score_data$数学),] 学生姓名 统计学 数学 营销学 管理学 会计学 4 徐丽娜 88 100 49 71 66 8 袁芳芳 80 100 53 73 70 2 王宇翔 85 91 63 76 66 1 张青松 68 85 84 89 86 6 王智强 78 84 51 60 60 5 赵莹莹 63 82 89 91 85 7 宋丽媛 90 78 59 72 66 3 田思雨 74 74 61 80 69 10 张志杰 63 70 91 85 82 9 张建国 58 51 79 91 85 # 按照学生姓名降序排列 > student_score_data[order(student_score_data$学生姓名,decreasing=TRUE),] 学生姓名 统计学 数学 营销学 管理学 会计学 5 赵莹莹 63 82 89 91 85 10 张志杰 63 70 91 85 82 1 张青松 68 85 84 89 86 9 张建国 58 51 79 91 85 8 袁芳芳 80 100 53 73 70 4 徐丽娜 88 100 49 71 66 6 王智强 78 84 51 60 60 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 7 宋丽媛 90 78 59 72 66 # 统计每个学生的总分将其添加在最后一列 > cbind(student_score_data,total = apply(student_score_data[,2:6],1,sum)) 学生姓名 统计学 数学 营销学 管理学 会计学 total 1 张青松 68 85 84 89 86 412 2 王宇翔 85 91 63 76 66 381 3 田思雨 74 74 61 80 69 358 4 徐丽娜 88 100 49 71 66 374 5 赵莹莹 63 82 89 91 85 410 6 王智强 78 84 51 60 60 333 7 宋丽媛 90 78 59 72 66 365 8 袁芳芳 80 100 53 73 70 376 9 张建国 58 51 79 91 85 364 10 张志杰 63 70 91 85 82 391
# 对所有行求均值 > apply(student_score_data[,2:6], 1,mean) [1] 82.4 76.2 71.6 74.8 82.0 66.6 73.0 75.2 72.8 78.2
3、缺失值的处理
> student_score_data_na<-read.table("C:/Users/wpguoc/Desktop/cnm.csv",sep = ",",header = T)
> student_score_data_na
学生姓名 统计学 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
4 徐丽娜 88 100 49 NA 66
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
9 张建国 58 NA 79 91 85
10 张志杰 63 70 91 85 82
# 判断是否有缺失值
> is.na(student_score_data_na)
学生姓名 统计学 数学 营销学 管理学 会计学
[1,] FALSE FALSE FALSE FALSE FALSE FALSE
[2,] FALSE FALSE FALSE FALSE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE FALSE FALSE
[4,] FALSE FALSE FALSE FALSE TRUE FALSE
[5,] FALSE FALSE FALSE FALSE FALSE FALSE
[6,] FALSE FALSE FALSE FALSE FALSE FALSE
[7,] FALSE FALSE FALSE FALSE FALSE FALSE
[8,] FALSE FALSE FALSE FALSE FALSE FALSE
[9,] FALSE FALSE TRUE FALSE FALSE FALSE
[10,] FALSE FALSE FALSE FALSE FALSE FALSE
# 剔除含缺失值的行
> student_score_data_not_na<-na.omit(student_score_data_na)
> student_score_data_not_na
学生姓名 统计学 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
10 张志杰 63 70 91 85 82
4、自定义函数统计学生成绩的平均值、中位数、极差和标准差
> myfun<-function(x){
+ n<-length(x)
+ mean<-sum(x) / n
+ median<-median(x)
+ r<-max(x) - min(x)
+ s<-sd(x)
+ summ<-data.frame(c(mean,median,r,s),
+ row.names=c("平均数","中位数","极差","标准差"))
+ names(summ)<-"值"
+ return(summ)
+ }
# 利用自定义函数描述学生成绩表中的统计学学科
> myfun(student_score_data$统计学)
值
平均数 74.70000
中位数 76.00000
极差 32.00000
标准差 11.32402
5、编辑数据集
# 重命名
> install.packages("reshape")
trying URL 'https://dirichlet.mat.puc.cl/bin/windows/contrib/3.5/reshape_0.8.8.zip'
Content type 'application/zip' length 169184 bytes (165 KB)
downloaded 165 KB
package ‘reshape’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\AppData\Local\Temp\RtmpsPCv5O\downloaded_packages
> library(reshape)
> rename(student_score_data,c(学生姓名="姓名"))
姓名 统计学 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
4 徐丽娜 88 100 49 NA 66
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
9 张建国 58 NA 79 91 85
10 张志杰 63 70 91 85 82
> rename(student_score_data,c(统计学="统计"))
学生姓名 统计 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
4 徐丽娜 88 100 49 NA 66
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
9 张建国 58 NA 79 91 85
10 张志杰 63 70 91 85 82
# 数据保存
> write.csv(student_score_data,file = "C:/Users/wpguoc/Desktop/student_score_data.csv")
> save(student_score_data,file = "C:/Users/wpguoc/Desktop/student_score_data.RData")
# 数据加载
> load("C:/Users/Desktop/student_score_data.RData")
> student_score_data
学生姓名 统计学 数学 营销学 管理学 会计学
1 张青松 68 85 84 89 86
2 王宇翔 85 91 63 76 66
3 田思雨 74 74 61 80 69
4 徐丽娜 88 100 49 NA 66
5 赵莹莹 63 82 89 91 85
6 王智强 78 84 51 60 60
7 宋丽媛 90 78 59 72 66
8 袁芳芳 80 100 53 73 70
9 张建国 58 NA 79 91 85
10 张志杰 63 70 91 85 82
转载请注明出处,谢谢!

浙公网安备 33010602011771号