R 中用于虚拟变量的函数
Functions within R for dummy variables
我想为 R 中的几个不同列创建虚拟变量。我可以使用以下代码为变量 Disability 执行此操作:
Disability <- model.matrix(~ Disability - 1,
transform(Dev_Mod, Disability = factor(paste(Disability, sep = "_"))))
因为我想 运行 这段代码多次用于各种变量我更愿意为此创建一个函数,所以我写了下面的函数:
dummy_vars <- function(Input1){
output <- model.matrix(~ Input1 - 1,
transform(Dev_Mod, Input1 = factor(paste(Input1, sep = "_"))))
return(output)
}
当我然后运行:
Disability <- dummy_vars("Disability")
我收到错误
Error in contrasts<-
(*tmp*
, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
我已经对多个变量进行了尝试,但每个变量都出现了相同的错误。
我已经检查过,它们肯定有 2 个或更多级别,所以我不知道如何修复错误。
我发现了一种使用代码同时为多个变量创建虚拟变量的不同方法:-
New_Dataset<-dummy.data.frame(dataset, sep="")
请注意,数据集 中的每个变量都将更改为虚拟变量,因此最好将您想要作为虚拟变量的变量分开。
Sep = ""
在变量名和变量值之间可以任意更改。
我想为 R 中的几个不同列创建虚拟变量。我可以使用以下代码为变量 Disability 执行此操作:
Disability <- model.matrix(~ Disability - 1,
transform(Dev_Mod, Disability = factor(paste(Disability, sep = "_"))))
因为我想 运行 这段代码多次用于各种变量我更愿意为此创建一个函数,所以我写了下面的函数:
dummy_vars <- function(Input1){
output <- model.matrix(~ Input1 - 1,
transform(Dev_Mod, Input1 = factor(paste(Input1, sep = "_"))))
return(output)
}
当我然后运行:
Disability <- dummy_vars("Disability")
我收到错误
Error in
contrasts<-
(*tmp*
, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
我已经对多个变量进行了尝试,但每个变量都出现了相同的错误。
我已经检查过,它们肯定有 2 个或更多级别,所以我不知道如何修复错误。
我发现了一种使用代码同时为多个变量创建虚拟变量的不同方法:-
New_Dataset<-dummy.data.frame(dataset, sep="")
请注意,数据集 中的每个变量都将更改为虚拟变量,因此最好将您想要作为虚拟变量的变量分开。
Sep = ""
在变量名和变量值之间可以任意更改。