У меня есть одна таблица со средней стоимостью «costmel» , и у меня есть одна таблица с оценкой риска 1-6 между диапазонами низких и низких средних средних.Добавьте значение в стол таблицы, просмотрев таблицу баллов
aggProb_avCostMeld table:
costmel
1 19.39
2 0.00
3 4889.71
4 4612.82
5 0.00
6 3812.52
RisicoKostSchaal table:
Schaal low high
1 1 0 1.75e+02
2 2 175 3.50e+02
3 3 350 5.25e+02
4 4 525 7.00e+02
5 5 700 8.75e+02
6 6 875 1.00e+08
То, что я хочу сделать, это для каждого я в aggProb_avCostMeld $ costmel, проверить, если он находится в пределах у из RisicoKostSchaal высокого низкого диапазона и возвращает соответствующее число RisicoKostSchaal $ Schaal и положить, что в новом столбце " costrisk "в таблице aggProb_avCostMeld.
Код, который я попытался это:
for(i in aggProb_avCostMeld$costmel) {
for (y in RisicoKostSchaal){
if(aggProb_avCostMeld$costmel[i] >= RisicoKostSchaal$low[y] & aggProb_avCostMeld$costmel[i] < RisicoKostSchaal$high[y]){
aggProb_avCostMeld$costrisk[i] <- RisicoKostSchaal$Schaal[y]
}
}
}
Но это не сработало.
dput(aggProb_avCostMeld)
c(19.3984518231819, 0, 4889.71644908616, 4612.82921161826, 0,
3812.52550091075, 0, 0, 0, 1484.24951267057, 0, 789.423206278027,
2529.65298303229, 3600.89832689833)
dput(RisicoKostSchaal)
structure(list(Schaal = c(1, 2, 3, 4, 5, 6), low = c(0, 175,
350, 525, 700, 875), high = c(175, 350, 525, 700, 875, 1e+08)), .Names = c("Schaal",
"low", "high"), row.names = c(NA, -6L), class = "data.frame")
Пожалуйста, добавьте результат 'dput (aggProb_avCostMeld)' и 'dput (RisicoKostSchaal)' на ваш вопрос, будет легче копировать/вставить. – Tensibai
что ожидается выход? – mtoto
что-то вроде 'RisicoKostSchaal $ Schaal [sapply (aggProb_avCostMeld $ costmel, function (i), который (i> = RisicoKostSchaal $ low & i <= RisicoKostSchaal $ high))]' – Sotos