Я изо всех сил пытался найти способ оценки выражения R в среде, построенной из данных. У меня есть dataframe:Как использовать «внутри» в R?
head(DATA1)
COD_CLI ENDEUD_FINAL
1 01002901 Mediana Empresa
2 01002932 No Sobreendeudado
3 04203409 No Sobreendeudado
...
, и я пытаюсь выполнить еще данные (data2):
head(DATA2)
COD_CLI_W ENDEUD_FINAL
1 01002190
2 01002913
3 04203401
...
DATA2 больше, чем DATA1, если же COD_CLI/COD_CLI_W в обоих DATAS, я беру второй столбец DATA1, если не я должен оценить другой dataframe «бумажник»:
> str(wallet)
'data.frame': 81101 obs. of 8 variables:
$ COD_CREDITO : chr "0040410166104" "00000363393" "0060030164135" "004023854M" ...
$ COD_CLI : chr "00402037" "00166750" "00178607" "40097700" ...
$ TIPO_DE_CREDITO : chr "12.-CONSUMO NO REVOLVENTE" "10.-MICROEMPRESA" "10.-MICROEMPRESA" "10.-MICROEMPRESA" ...
$ SITUACION_SAFI : chr "CASTIGADO" "CASTIGADO" "CASTIGADO" "CASTIGADO" ...
$ COD_TIP_PRESTAMO: chr "0747" "0748" "0748" "0747" ...
$ ATR_SOL : num 0 0 0 0 0 0 0 0 0 0 ...
$ CAP_SOL : num 313.37 3.16 1670.51 3010 2327.71 ...
$ NUM_ENT : num 3 1 2 1 1 3 2 1 4 2 ...
Теперь код я бегу это:
DATA2 <- within(DATA2,{
CALIF_RCD <- ifelse(COD_CLI_W %in% DATA1$COD_CLI,DATA1$ENDEUD_FINAL[which(DATA1$COD_CLI %in% COD_CLI_W)],
ifelse(wallet$TIPO_DE_CREDITO[which(wallet$COD_CLI %in% COD_CLI_W)[1]] == "08.-MEDIANA EMPRESA","Mediana Empresa",
ifelse(wallet$NUM_ENT[which(wallet$COD_CLI %in% COD_CLI_W)[1]]<5,"No Sobreendeudado","Sobreendeudado")))
}
)
В большинстве случаев выход неправильный. Я новичок в R, и я хотел бы знать, как правильно его закодировать. Любая помощь приветствуется.
звучит так, будто вы можете просто «слить» вместо написания вложенных 'ifelse' – rawr
Я попытался это сделать, но я не знаю, прямо. DATA2 содержит всю информацию DATA1 и больше. Я бы оценил элементы, которые находятся только в DATA2, но я не знаю, как создать это подмножество с помощью «merge» или любого другого метода. – JVALLEJO