使用data.frame$列的R函数不工作 以下两个函数目前不起作用,但在我完整地写出它们时确实起作用——不知道为什么。任何关于修复的建议都会很好。 change\u specific\u column\u name

使用data.frame$列的R函数不工作 以下两个函数目前不起作用,但在我完整地写出它们时确实起作用——不知道为什么。任何关于修复的建议都会很好。 change\u specific\u column\u name,r,function,names,R,Function,Names,虽然不精确,但可以将函数的参数视为按值传递,因此很明显,对函数的形式参数所做的更改不会影响实际参数 任何关于修复的建议都会很好 如果您确实希望函数修改其参数,可以使用e。G在下面基本上只需将作业包装在eval.parent(替换(…)中即可 change\u specific\u column\u name在函数调用的末尾添加一个return(data.frame)。也不要调用诸如base r函数/类之类的变量,例如data.frame。 change_specific_column_name

虽然不精确,但可以将函数的参数视为按值传递,因此很明显,对函数的形式参数所做的更改不会影响实际参数

任何关于修复的建议都会很好

如果您确实希望函数修改其参数,可以使用e。G在下面基本上只需将作业包装在
eval.parent(替换(…)
中即可

change\u specific\u column\u name在函数调用的末尾添加一个
return(data.frame)
。也不要调用诸如base r函数/类之类的变量,例如
data.frame
change_specific_column_name <- function(data.frame,old_column_name,new_column_name){
  names(data.frame)[names(data.frame) == old_column_name] <- new_column_name
}

change_specific_observations_name <- function(data.frame, column_name, old_obseration, new_observation){
   data.frame$column_name[which(data.frame$column_name == old_obseration)] <- new_observation
}

test_frame <- data.frame(Does=1,This=2,Work=3)

change_specific_column_name(test_frame,"Work","Happen") # this doesn't change the name of the column

names(test_frame)[names(test_frame) == "Work"] <- "Happen" # writing out the function does change the name
change_specific_column_name <- function(data.frame, old_column_name, new_column_name)
 eval.parent(substitute(names(data.frame)[names(data.frame) == old_column_name] <- new_column_name))