Error in select(train, -c(Salary, log_Salary)) : unused argument (-c(Salary, log_Salary))
时间: 2023-06-11 08:08:17 浏览: 201
这个错误提示可能是因为在`select()`函数中使用了一个未定义的参数`-c(Salary, log_Salary)`。`select()`函数是`dplyr`包中的函数,用于选择数据框中的列。它的语法是`select(data, column1, column2, ...)`,其中`data`是要选择列的数据框,`column1`、`column2`等是要选择的列名。
根据错误提示,你可能在`select()`函数中使用了参数`-c(Salary, log_Salary)`,但是该参数在`select()`函数中是不存在的。如果你想从数据框中删除`Salary`和`log_Salary`列,可以使用以下语法:
```
train <- select(train, -Salary, -log_Salary)
```
这将保留`train`数据框的所有列,除了`Salary`和`log_Salary`列。
相关问题
import re # 转换薪资字符串方法 def convert_salary_to_monthly_average(salary_str): # 使用正则表达式提取薪资数字 salary_digits = re.findall(r'\d+\.?\d*', salary_str) if len(salary_digits) == 0: return None # 将薪资转换为数值类型 salary_values = [float(digit) for digit in salary_digits] # 根据薪资单位进行转换 if '千' in salary_str or 'k' in salary_str: salary_values = [value * 1000 for value in salary_values] elif '万' in salary_str: salary_values = [value * 10000 for value in salary_values] elif '年' in salary_str: salary_values = [value / 12 for value in salary_values] # 如果薪资范围,则计算平均值 if '-' in salary_str and len(salary_values) == 2: monthly_average = sum(salary_values) / 2 return int(monthly_average) else: return int(salary_values[0]) lista = ['1.5-2.3万','5千-1万'] for a in lista: listb = convert_salary_to_monthly_average(a)
这段代码实现了将薪资字符串转换为月平均薪资的功能。具体来说,它使用了正则表达式提取薪资数字,然后根据薪资单位进行转换,最后计算出平均值。如果薪资是一个范围,则计算平均值。你给出的是一个列表,它包含两个薪资字符串。代码通过循环遍历列表的每个元素,然后调用 convert_salary_to_monthly_average 函数将薪资字符串转换为月平均薪资。最终,程序将返回一个包含两个整数的列表,这些整数分别表示两个薪资范围的月平均薪资。
员工表 WORKER_ID FIRST_NAME LAST_NAME SALARY JOINING_DATE DEPARTMENT 1 Monika Arora 100000 2014-02-20 09:00:00 HR 2 Niharika Verma 80000 2014-06-11 09:00:00 Admin 3 Vishal Singhal 300000 2014-02-20 09:00:00 HR 4 Amitabh Singh 500000 2014-02-20 09:00:00 Admin 5 Vivek Bhati 500000 2014-06-11 09:00:00 Admin 6 Vipul Diwan 200000 2014-06-11 09:00:00 Account 7 Satish Kumar 75000 2014-01-20 09:00:00 Account 8 Geetika Chauhan 90000 2014-04-11 09:00:00 Admin 奖金表 WORKER_ID BONUS_DATE BONUS_AMOUNT 1 2016-02-20 00:00:00 5000 2 2016-06-11 00:00:00 3000 3 2016-02-20 00:00:00 4000 1 2016-02-20 00:00:00 4500 2 2016-06-11 00:00:00 3500 职称表 WORKER_ID WORKER_TITLE AFFECTED_FROM 1 Manager 2016-02-20 00:00:00 2 Executive 2016-06-11 00:00:00 8 Executive 2016-06-11 00:00:00 5 Manager 2016-06-11 00:00:00 4 Asst. Manager 2016-06-11 00:00:00 7 Executive 2016-06-11 00:00:00 6 Lead 2016-06-11 00:00:00 3 Lead 2016-06-11 00:00:00 题目1: 查询所有薪水在5万到10万之间(含)的员工全名和薪水,请将SQL和预期的结果集写下来。
SELECT FIRST_NAME,LAST_NAME,SALARY FROM WORKER_ID WHERE SALARY BETWEEN 50000 AND 100000;
FIRST_NAME LAST_NAME SALARY
Monika Arora 100000
Niharika Verma 80000
Vishal Singhal 300000
Amitabh Singh 500000
Vivek Bhati 500000
Vipul Diwan 200000
Satish Kumar 75000
Geetika Chauhan 90000