У меня есть следующие dataframe: «C2»R: Multiple если заявление функция применяется
ID C1 C2
1 0 100
2 29 0
3 0 0
4 789 400
Я хочу, чтобы указать «тип», основанный на столбцах «C1» и Например, если C1 и C2 равны 0 (или NA), это «Тип 1.», Если C1! = 0 и C2 = 0 (или NA), то это «Тип 2.» ! Типа 3 -> C1 = 0 (& NA), C2 = 0 Тип 4 -> C1 = 0 и С2 = 0
Вывод должен выглядеть примерно так:
!Type
Type 4
Type 2
Type 1
Type 3
Я попробовал несколько различных способов:
for (i in 1:nrow(df))
{
if
((is.na(df[i,12]) == TRUE) | (df[i,12] == 0.00) &
(is.na(df[i,13]) == TRUE) | (df[i,13] == 0.00))
{
df2[i,1] = "Type 1"
}
else
{
df2[i,1] = "Other Type"
}
}
я не включают в себя все условия выше для цикла, но это очень медленно.
Вот еще один метод, который я попробовал (не полный код, а просто пытается):
ifelse((is.na(Test_Customer[,2]) | Test_Customer[,2]==0), "Type 1", "Type 2")
Для IfElse заявления, я предполагаю, что я обернуть его в функцию, а затем использовать применить функцию, чтобы применить это для всех строк данных. Однако, R принимает вложенные операторы ifelse, такие как «if» в excel?
Если кто знает альтернативный способ сделать это, это было бы здорово! Большое спасибо заранее!!
Вы упомянули логику для типов 1 и 2, но ваш желаемый результат показывает с 1 по 4. Пожалуйста, предоставьте более подробные сведения. – r2evans