#代码来源:《数据新闻与信息可视化》
#读取数据
cgss_19 <- read.csv("C:/Users/Administrator/hbb2025/ex003/cgss_19.csv", encoding="UTF-8")
#预览数据
View(cgss_19)
sub1<-subset(cgss_19,gender=="男")
#创建子集sub1,所有数据行的性别(gender)为男。请注意此处使用两个等号
sub2<-subset(cgss_19,birth_year>=1980)
#创建子集sub2,所有数据行的出生年份在1980年或以后(birth-year>1980)
sub3<-subset(cgss_19,birth_year>=1980 & birth_year<1990)
#创建子集sub3,其中受访者为80后(birth-year大于1980并且小于1990)。
sub4<-subset(cgss_19,depress=="总是"|depress=="经常")
#创建子集sub4,其中受访者“经常”或“总是”感到心情抑郁
sub5<-subset(cgss_19,c(education=="小学"|education=="初中")&income>=100000)
#创建子集sub5,其中受访者的最高学历为“小学”或“初中”,并且他们的年收入大于或等于100000元。c()表示一个向量,可以用来罗列条件。
sub6<-cgss_19[grep("大学",cgss_19$education),]
#创建子集sub6,保留所有education变量中含有“大学”二字的数据行,即选出所有大学相关学历所有大学相关学历的受访者。
#cgss是进行对数据集筛选和截取的另一个方法 ,
#中括号中逗号前后分别是对行和列进行筛选的条件 ,空白则代表选择全部的行或列。
#grep ()是模式匹配函数 ,帮我们找到一些特定的#字段。
sub7<-subset(cgss_19,select = c("gender","birth_year","income"))
#创建子集sub7,只保留其中gender, birth_year和income三个变量。
sub8<-subset(cgss_19,select = c(2,3,6))
#创建子集sub8,只保留其中第2个(gender )、第3个()和第6个(income ) 变量,其结果与sub7 一样。
sub9<-subset(cgss_19,select = c(2,3,6:9,13:15))
#创建子集sub9,只保留其中第2个、第3个、第6到9个、第13到15个变量。子集sub9中 共有9个变量。
cgss10<-cgss_19[order(cgss_19$height),]
#将cgss数据集按照身高(height)升序排列。
cgss11<-cgss_19[order(cgss_19$height,decreasing = TRUE),]