全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1372 5
2021-04-11
有5名学生的成绩:55,66,89,92,88  其对应学生的名字为stud1,stud2……stud5,请将90—100标注为A,80-89标注为B,70-79标注为C,60-69标注为D,50-59标注为E,40-49标注为F。然后输出每组同学的名字,如:A:stud4
B:stud3 stud5……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-4-11 17:23:40
score = c(55,66,89,92,88)
name = paste0('stud',1:5)
level = cut(score,breaks = c(40,50,60,70,80,90,100),
        labels = rev(LETTERS[1:6]),
        include.lowest = T,right = F)
library(data.table)       
dat = data.table(name,score,level)
dat
dat[level == 'A',list(level,name)]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-11 18:58:52
szxship 发表于 2021-4-11 17:23
score = c(55,66,89,92,88)
name = paste0('stud',1:5)
level = cut(score,breaks = c(40,50,60,70,80,9 ...
前面懂了,但如果不用data.table,有没有其他办法呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-11 20:15:01
努力学习的学渣儿 发表于 2021-4-11 18:58
前面懂了,但如果不用data.table,有没有其他办法呢
前面的部分是核心
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-11 21:24:06
努力学习的学渣儿 发表于 2021-4-11 18:58
前面懂了,但如果不用data.table,有没有其他办法呢
下面是不用任何包的方法
dat = data.frame(name,score,level)
dat[dat[['level']]=='A',c(3,1)]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-12 22:07:38
szxship 发表于 2021-4-11 21:24
下面是不用任何包的方法
dat = data.frame(name,score,level)
dat[dat[['level']]=='A',c(3,1)]
谢谢啦 很有帮助!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群