R语言代码 设计一个S3类report,包含的属性分别是:姓名、学号、课程名称、学分、成绩
时间: 2023-12-21 10:04:29 浏览: 110
以下是一个基本的 R 代码,用于定义一个名为 "report" 的 S3 类:
```R
# 定义 report 类
report <- function(name, student_id, course_name, credit, score){
# 创建对象
obj <- list(name = name,
student_id = student_id,
course_name = course_name,
credit = credit,
score = score)
# 设置类别
class(obj) <- "report"
# 返回对象
return(obj)
}
# 打印 report 对象
print.report <- function(x){
cat("姓名:", x$name, "\n")
cat("学号:", x$student_id, "\n")
cat("课程名称:", x$course_name, "\n")
cat("学分:", x$credit, "\n")
cat("成绩:", x$score, "\n")
}
# 创建 report 对象
my_report <- report(name="张三", student_id="123456", course_name="统计学", credit=3, score=85)
# 打印 report 对象
print(my_report)
```
在这个例子中,我们使用了 `list` 函数来创建一个包含姓名、学号、课程名称、学分和成绩属性的对象。然后,我们使用 `class` 函数来设置对象的类别为 "report"。最后,我们定义了一个 `print.report` 函数来打印 report 对象的属性。可以使用 `print` 函数来调用 `print.report` 函数来打印 report 对象。
阅读全文