习题1.1
(1) 这题没写存储 只写了录入
wagelevels<-c("低收入户","中等偏下户","中等收入户","中等偏上户","高收入户")
yr2016<-c(3750,7338,10508,14823,28225)
yr2017<-c(4647,9330,13506,19404,36957)
yr2018<-c(6545,12674,18277,26044,49175)
yr2019<-c(8004,17024,24832,35576,67132)
yr2020<-c(10422,21636,31685,45639,85541) #录入向量
(2) 转化为矩阵
table1<-data.frame(收入户等级=wagelevels,二零一六年=yr2016,二零一七年=yr2017,二零一八年=yr2018,二零一九年=yr2019,二零二零年=yr2020)
table1 #数据框
matrix1<-as.matrix(table1[,2:6]) #转化为矩阵
rownames(matrix1)=table1[,1]
matrix1
(3) 转化为长格式
library(reshape2) #加载reshape2
table1.long<-melt(table1,id.vars="收入户等级",variable.name="年份",value.name="元") #转化为长数据
table1.long
习题1.2
numbers=rnorm(n=20,mean=0,sd=1) #生成20个标准正态分布随机数
set.seed(123)
matrix2<-matrix(numbers,nrow=5,ncol=4) #5x4矩阵
matrix3<-matrix(numbers,nrow=4,ncol=5,byrow=TRUE) #4x5矩阵
matrix2;matrix3
习题1.3
(1) Titanic sex和survived生成二维列联表并添加边际和
df<-Untable(Titanic) #列联表转化为数据框
tbt<-table(df$Sex,df$Survived)#二维列联表
addmargins(tbt)#添加边际和
(2) class,sex,age, survived 4变量多维列联表
tbt2<-ftable(df,row.vars = c("Class","Sex","Age"),col.vars = "Survived")#多维列联表
(3) (2)生成的列联表转化为带有类别频数的数据框
ftable(addmargins(table(df$Class,df$Sex,df$Age,df$Survived)))#添加边际和
习题1.4
library(DescTools)
numbers2=rnorm(n=1000,mean=20,sd=10)
set.seed(123)
max=max(numbers2);max
min=min(numbers2);min
freqtable<-Freq(numbers2,breaks=10*(min:max))