为了模块化函数,我想自定义一个函数,用于将连续型变量离散化并把新的离散变量添加到原数据当中,代码如下:
Discretize <- function(x, breaks, name) {
variate_cut <- cut(c(x), breaks)
data <- cbind(data, variate_cut)
} ## x是连续型变量,breaks是cut函数的分割区间参数。
Discretize(x = data$guest, breaks = c(0, 6, 8, 14)) ##guest是原始数据中的一个连续型变量。
运行之后没有报错,但是也没任何反应,查看原始数据发现没有新增变量。
但是如果不自定义函数而是直接运行cut函数的话就没问题了:
guest <- c(data$guest)
guest_cut <- cut(guest, breaks = c(0, 6, 8, 14), ordered_result = F) # 离散化l连续型guest变量
data <- cbind(data, guest_cut) # 将离散化的新变量添加到原数据中
运行之后查看原数据会在最后面新增一列离散化的guest_cut变量。
请问各位大神知道我的自定义函数哪里出问题了吗?


雷达卡



京公网安备 11010802022788号







