我想将括号中两个值定义的类更改为相应类的平均值。情况如下: 我正在使用“cut”将一个变量分成10个类。
class Menu < ActiveRecord::Base
validates :menu_date, format: {
with: /\d{4}-\d{2}-\d{2}(\s\d{2}:\d{2}:\d{2})?/,
message: "only correct date formats are allowed"
}
end
结果给出:
data$classe_Ta<-cut(data$Ta,10,include.lowest = TRUE)
table(data$classe_Ta)
我想用我的数据框中的[-12.4,-7.81],( - 7.81,-3.25)替换每个类的平均值;这意味着-10.105,-5.53 ....需要为每个班级计算。 任何有关如何做到这一点的建议将不胜感激。 提前谢谢!
答案 0 :(得分:0)
我们可以使用str_extract
提取所有数字元素,将字符串转换为numeric
,获取mean
。
v1 <- sapply(str_extract_all(levels(data$classe_Ta),
"-?[0-9]+(\\.[0-9]+)?"), function(x) mean(as.numeric(x)))
data$Mean <- v1[as.numeric(data$classe_Ta)]
set.seed(24)
data <- data.frame(Ta = sample(-50:100, 20, replace=TRUE))
data$classe_Ta<-cut(data$Ta,10,include.lowest = TRUE)