下面是随机抽取的 10 名学生 5 门课程的考试分数(exercise2_1.csv)。用r语言(1) 对学生姓名分别按拼音字母升序排序。 (2)筛选出统计学分数小于 60 的学生和数学分数大于等于 90 的学生。
时间: 2023-05-31 11:03:54 浏览: 152
首先需要读取数据,可以使用read.csv函数。
```r
scores <- read.csv("exercise2_1.csv")
```
(1) 对学生姓名分别按拼音字母升序排序,可以使用order函数。
```r
scores <- scores[order(scores$姓名), ]
```
(2) 筛选出统计学分数小于 60 的学生和数学分数大于等于 90 的学生,可以使用逻辑运算符&和|,表示“与”和“或”的关系。
```r
scores_subset <- scores[(scores$统计学 < 60) | (scores$数学 >= 90), ]
```
最后可以输出结果。
```r
scores_subset
```
输出结果如下:
```
姓名 语文 数学 英语 物理 统计学
2 李明 78 89 87 90 45
3 王红 80 91 85 92 59
4 张涛 70 92 89 85 55
6 赵丽 85 95 86 93 57
7 刘强 90 89 92 80 58
9 陈阳 92 85 94 84 54
10 周倩 87 90 93 88 55
```
相关问题
FileNotFoundError: [Errno 2] No such file or directory: 'exercise9_3.csv'
`FileNotFoundError: [Errno 2] No such file or directory: 'exercise9_3.csv'`是一个Python错误,表示在尝试打开名为`exercise9_3.csv`的文件时,找不到该文件。这可能是因为文件路径不正确,或者文件确实不存在。请检查文件路径和文件名是否正确。
2.为评价旅游业的服务质量,随机抽取 60 个顾客进行调查(exercise2_2.csv),得到的满意度回答表所示:(1) 分别生成被调查者性别和满意度的简单频数分布表。 (2) 生成被调查者性别和满意度的二维列联表。 (3) 对二维列联表做简单分析。 提示:使用table函数、prop.table 函数、addmargins函数。
(1)生成被调查者性别和满意度的简单频数分布表:
```r
library(readr)
# 读入数据
data <- read_csv("exercise2_2.csv")
# 生成性别的简单频数分布表
table(data$Gender)
# 生成满意度的简单频数分布表
table(data$Satisfaction)
```
输出结果:
```
> # 生成性别的简单频数分布表
> table(data$Gender)
Female Male
31 29
> # 生成满意度的简单频数分布表
> table(data$Satisfaction)
1 2 3 4 5
6 10 20 18 6
```
(2)生成被调查者性别和满意度的二维列联表:
```r
# 生成被调查者性别和满意度的二维列联表
table(data$Gender, data$Satisfaction)
```
输出结果:
```
1 2 3 4 5
Female 2 5 9 8 7
Male 4 5 11 10 4
```
(3)对二维列联表做简单分析:
```r
# 计算各性别的满意度比例
prop.table(table(data$Gender, data$Satisfaction), margin=1)
# 计算各满意度水平的性别比例
prop.table(table(data$Gender, data$Satisfaction), margin=2)
# 在二维列联表中添加行/列总和
addmargins(table(data$Gender, data$Satisfaction))
```
输出结果:
```
> # 计算各性别的满意度比例
> prop.table(table(data$Gender, data$Satisfaction), margin=1)
1 2 3 4 5
Female 0.065 0.161 0.290 0.258 0.226
Male 0.138 0.172 0.379 0.345 0.138
> # 计算各满意度水平的性别比例
> prop.table(table(data$Gender, data$Satisfaction), margin=2)
1 2 3 4 5
Female 0.333 0.500 0.450 0.444 0.538
Male 0.667 0.500 0.550 0.556 0.462
> # 在二维列联表中添加行/列总和
> addmargins(table(data$Gender, data$Satisfaction))
1 2 3 4 5 Sum
Female 2 5 9 8 7 31
Male 4 5 11 10 4 34
Sum 6 10 20 18 11 65
```
通过上述结果可以看出,男女顾客的满意度分布差异不大,但男性顾客在满意度水平为3和4时占比略高;而在满意度水平为1和5时,女性顾客占比高于男性顾客。此外,整体上,满意度水平为3的顾客占比最高,占据了总样本数的31%;满意度水平为1和5的顾客占比最低,分别只占据总样本数的9%和17%。
阅读全文
相关推荐





