Я пытаюсь создать вычисляемое поле в R, используя оператор if, который сравнивает строки, которые в Excel легко, но я не могу понять это в R. Формула в Excel выглядит следующим образом:Оператор R if, сравнивающий строки
=IF(AND(E2<>"Accepted", B2=B3,E3="Accepted"), -(F2-F3),"")
Где Столбец B представляет собой список из 9-значных чисел (т.е., 200100111) и колонке F содержит даты. Код, который я написал в R выглядит следующим образом:
if(df_srt$NUMBER==shift(df_srt$NUMBER, 1L, type="lead") && df_srt$DESCRIPTION != "Accepted" && shift(VA_df_srt$DESCRIPTION, 1L, type="lead")=="Accepted") {1} else {0}
Я тогда понял, что если оператор сравнивает только длину вектора 1 так, чтобы не работать. Я могу сравнивать строки по отдельности, чтобы получить «TRUE» значение следующим образом:
TEST2calc <- df_srt$NUMBER==shift(df_srt$NUMBER, 1L, type="lead")
Но я хочу, чтобы эти три сравнения, а затем присвоить значение, если все они правдивы.
Благодаря
Нет необходимости в скобки вокруг цифр в вашем 'if'. –