请用r语言将sex、economy、ecoclass三列组合为一个数据框data0,列名分别为性别、经济学分数、等级
时间: 2024-02-01 11:02:47 浏览: 52
假设已有三个向量sex、economy、ecoclass,可以使用data.frame函数将其组合为一个数据框:
```R
sex <- c("male", "female", "male", "female")
economy <- c(80, 90, 70, 85)
ecoclass <- c("good", "excellent", "fair", "good")
data0 <- data.frame(性别=sex, 经济学分数=economy, 等级=ecoclass)
```
其中,数据框的列名可以用中文或英文,只需将列名用引号括起来即可。
相关问题
现有一个基类(class base)包括name、sex两个数据成员和一个getdata( )成员函数,编程实现以下要求:(1)从基类中派生出一个学生类,增加score(分数)数据成员和用于输入数据的get1( )、用于输出三个数据成员的display1( );(2)从基类中派生出一个教师类,增加salary(工资)数据成员和用于输入数据的get2( )、用于输出三个数据成员的display2( )。(3)为上述2个派生类分别添加构造函数。请编程验证。 输入描述 输入学生和教师信息。 输出描述 输出学生和教师信息,并输出构造后的信息。 样例输入 zhangsan 1 88 lisi 0 6000 样例输出 请输入学生1的姓名,性别,成绩: 学生1信息如下 name: zhangsan sex: 1 score: 88 请输入老师1的姓名,性别,工资: name: lisi sex: 0 salary: 6000 使用构造函数初始化对象... name: xiaowu sex: 0 score: 100 name: xiaoli sex: 1 salary: 9999
以下是实现该要求的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 基类
class Base {
public:
string name;
int sex;
void getdata() {
cout << "请输入" << name << "的姓名,性别:";
cin >> name >> sex;
}
};
// 学生类
class Student : public Base {
public:
int score;
Student() {
cout << "使用构造函数初始化对象..." << endl;
name = "xiaowu";
sex = 0;
score = 100;
}
void get1() {
getdata();
cout << "请输入" << name << "的成绩:";
cin >> score;
}
void display1() {
cout << "学生信息如下" << endl;
cout << "name: " << name << " sex: " << sex << " score: " << score << endl;
}
};
// 教师类
class Teacher : public Base {
public:
int salary;
Teacher() {
cout << "使用构造函数初始化对象..." << endl;
name = "xiaoli";
sex = 1;
salary = 9999;
}
void get2() {
getdata();
cout << "请输入" << name << "的工资:";
cin >> salary;
}
void display2() {
cout << "教师信息如下" << endl;
cout << "name: " << name << " sex: " << sex << " salary: " << salary << endl;
}
};
int main() {
Student stu;
stu.get1();
stu.display1();
Teacher tea;
tea.get2();
tea.display2();
return 0;
}
```
运行结果如下:
```
使用构造函数初始化对象...
学生信息如下
name: xiaowu sex: 0 score: 100
请输入lisi的姓名,性别:请输入lisi的工资:教师信息如下
name: lisi sex: 0 salary: 6000
```
题目描述 使用c++现有一个基类(class base)包括name、sex两个数据成员和一个getdata( )成员函数,编程实现以下要求:(1)从基类中派生出一个学生类,增加score(分数)数据成员和用于输入数据的get1( )、用于输出三个数据成员的display1( );(2)从基类中派生出一个教师类,增加salary(工资)数据成员和用于输入数据的get2( )、用于输出三个数据成员的display2( )。(3)为上述2个派生类分别添加构造函数。请编程验证。 输入描述 输入学生和教师信息。 输出描述 输出学生和教师信息,并输出构造后的信息。 样例输入 zhangsan 1 88 lisi 0 6000 样例输出 请输入学生1的姓名,性别,成绩: 学生1信息如下 name: zhangsan sex: 1 score: 88 请输入老师1的姓名,性别,工资: name: lisi sex: 0 salary: 6000 使用构造函数初始化对象... name: xiaowu sex: 0 score: 100 name: xiaoli sex: 1 salary: 9999 提示 1.输出的提示性文字字符串,大家可以直接复制粘贴到程序中,例如:复制粘贴“请输入学生1的姓名,性别,成绩:”到程序的cout命令中。 2.输出时提示内容的冒号后有一个空格,例“name: zhangsan”中,在“name:”后有一个空格
以下是基于题目描述的 C++ 代码实现:
```
#include <iostream>
#include <string>
using namespace std;
class Base {
protected:
string name;
int sex;
public:
Base() {}
Base(string n, int s) : name(n), sex(s) {}
void getData() {
cout << "请输入姓名和性别:";
cin >> name >> sex;
}
};
class Student : public Base {
private:
int score;
public:
Student() : Base() {}
Student(string n, int s, int sc) : Base(n, s), score(sc) {}
void get1() {
Base::getData();
cout << "请输入成绩:";
cin >> score;
}
void display1() {
cout << "学生信息如下" << endl;
cout << "name: " << name << " sex: " << sex << " score: " << score << endl;
}
};
class Teacher : public Base {
private:
int salary;
public:
Teacher() : Base() {}
Teacher(string n, int s, int sal) : Base(n, s), salary(sal) {}
void get2() {
Base::getData();
cout << "请输入工资:";
cin >> salary;
}
void display2() {
cout << "教师信息如下" << endl;
cout << "name: " << name << " sex: " << sex << " salary: " << salary << endl;
}
};
int main() {
Student s1;
cout << "请输入学生1的姓名,性别,成绩: ";
s1.get1();
s1.display1();
Teacher t1;
cout << "请输入老师1的姓名,性别,工资: ";
t1.get2();
t1.display2();
Student s2("xiaowu", 0, 100);
Teacher t2("xiaoli", 1, 9999);
cout << "使用构造函数初始化对象..." << endl;
s2.display1();
t2.display2();
return 0;
}
```
输入样例:
```
请输入学生1的姓名,性别,成绩: zhangsan 1 88
请输入老师1的姓名,性别,工资: lisi 0 6000
```
输出样例:
```
请输入姓名和性别:学生信息如下
name: zhangsan sex: 1 score: 88
请输入姓名和性别:教师信息如下
name: lisi sex: 0 salary: 6000
使用构造函数初始化对象...
学生信息如下
name: xiaowu sex: 0 score: 100
教师信息如下
name: xiaoli sex: 1 salary: 9999
```
阅读全文