У меня есть числовой вектор var
с именами (вывод из predict.cv.glmnet)
var<-c(5.74,0.00,0.15,0.00,0.04,0.00,0.00,0.00,1.81,0.00)
names(var)<- cbind("(Intercept)","as.factor(holiday)1","as.factor(season)2","as.factor(season)3","as.factor(season)4","as.factor(weathersit)2", "as.factor(weathersit)3","windspeed","temp","hum")
(Intercept) as.factor(holiday)1 as.factor(season)2 as.factor(season)3 as.factor(season)4 as.factor(weathersit)2
5.74 0.00 0.15 0.00 0.04 0.00
as.factor(weathersit)3 windspeed temp hum
0.00 0.00 1.81 0.00
Я хочу извлечь имена переменных с ненулевыми значениями, а также агрегировать уровни факторов (т.е. если хотя бы один уровень фактора отличен от нуля, то следует включить весь фактор. В выводе должны быть опущены уровни факторов. Я смотрю для фрагмента кода, который дал бы мне это в результате:
"(Intercept)" "as.factor(season)" "temp"
У меня также есть переменная с именами факторов fac
:
fac<-c("as.factor(holiday)","as.factor(season)","as.factor(weathersit)")
"as.factor(holiday)" "as.factor(season)" "as.factor(weathersit)"
и думал агрегировать факторы с похожими именами, опуская их уровни, и проверять, равна ли сумма агрегированных факторов> 0, но я не могу ее кодировать.