>StuScore
StuIdStuNameMathScienceEnglishscoregrade
11JohnDavis50295250.22B
22AngelaWilliams4656712-1.00E
33BullJones62178220.21B
44CherylCushing5756618-0.38E
55ReuvenYtzrhak4549615-0.30E
66JoelKnox63489300.78B
77MaryRayburn57678370.56B
88GregEngland4215612-1.42E
99BradTmac5996822-0.10E
1010TracyMcgrady666100381.43B
6:
使用strsplit()以空格为界把学生姓名拆分为姓氏和名字
>StuScore$StuName<-as.character(StuScore$StuName)
>is.character(StuScore$StuName)
[1]TRUE
>name<-strsplit(StuScore$StuName,"")
>name
[[1]]
[1]"John""Davis"
[[2]]
[1]"Angela""Williams"
[[3]]
[1]"Bull""Jones"
[[4]]
[1]"Cheryl""Cushing"
[[5]]
[1]"Reuven""Ytzrhak"
[[6]]
[1]"Joel""Knox"
[[7]]
[1]"Mary""Rayburn"
[[8]]
[1]"Greg""England"
[[9]]
[1]"Brad""Tmac"
[[10]]
[1]"Tracy""Mcgrady"
7:
把name分成Firstname和LastName,加入到StuScore中
>FirstName<-sapply(name,"[",1)
>LastName<-sapply(name,"[",2)
>StuScore<-cbind(FirstName,LastName,StuScore[,-1])
>StuScore
FirstNameLastNameLastNameStuNameMathScienceEnglishscoregrade
1JohnDavisDavisJohnDavis50295250.22B
2AngelaWilliamsWilliamsAngelaWilliams4656712-1.00E
3BullJonesJonesBullJones62178220.21B
4CherylCushingCushingCherylCushing5756618-0.38E
5ReuvenYtzrhakYtzrhakReuvenYtzrhak4549615-0.30E
6JoelKnoxKnoxJoelKnox63489300.78B
7MaryRayburnRayburnMaryRayburn57678370.56B
8GregEnglandEnglandGregEngland4215612-1.42E
9BradTmacTmacBradTmac5996822-0.10E
10TracyMcgradyMcgradyTracyMcgrady666100381.43B
8:
order排序
>StuScore[order(LastName,FirstName),]
FirstNameLastNameLastNameStuNameMathScienceEnglishscoregrade
4CherylCushingCushingCherylCushing5756618-0.38E
1JohnDavisDavisJohnDavis50295250.22B
8GregEnglandEnglandGregEngland4215612-1.42E
3BullJonesJonesBullJones62178220.21B
6JoelKnoxKnoxJoelKnox63489300.78B
10TracyMcgradyMcgradyTracyMcgrady666100381.43B
7MaryRayburnRayburnMaryRayburn57678370.56B
9BradTmacTmacBradTmac5996822-0.10E
2AngelaWilliamsWilliamsAngelaWilliams4656712-1.00E
5ReuvenYtzrhakYtzrhakReuvenYtzrhak4549615-0.30E
9:
为StuScore绘制分组条形图
install.packages("vcd")
library(vcd)
fill_colors<-c()#不同的等级,不同的颜色显示
for(iin1:
length(StuScore$Science))
{
if(StuScore$Science[i]==100)
{
fill_colors<-c(fill_colors,"red")
}
elseif(StuScore$Science[i]<100&&StuScore$Science[i]>=80)
{
fill_colors<-c(fill_colors,"yellow")
}
elseif(StuScore$Science[i]<80&&StuScore$Science[i]>=60)
{
fill_colors<-c(fill_colors,"blue")
}else{
fill_colors<-c(fill_colors,"green