Это кажется простым, но я не мог выполнить. Его отличие, чем звук аналогичный вопрос задать here. Я хочу, чтобы создать новые столбцы говорят df$col1
, df$col2
, df$col3
на dataframe df, используя условие в колонке уже существует то есть df$con
и df$val
.Как создать новый столбец с условием if
- Я хотел бы записать значение столбца «VAL» в
df$col1
, еслиdf$con > 3
- Я хотел бы записать значение Col
df$val
вdf$col2
, еслиdf$con<2
- и я хотел бы, чтобы написать 30 % от
df$val
вdf$col3
еслиdf$con
находится между 1 и 3.
Как я должен это делать? Ниже представлен мой dataframe df с двумя столбцами «con» для условия и «val» для использования значения.
dput(df)
structure(list(con = c(-33.09524956, -36.120924, -28.7020053,
-26.06385399, -18.45731163, -14.51817928, -20.1005132, -23.62346403,
-24.90464018, -23.51471516), val = c(0.016808197, 1.821442227,
4.078385886, 3.763593573, 2.617612605, 2.691796601, 1.060565469,
0.416400183, 0.348732675, 1.185505136)), .Names = c("con", "val"
), row.names = c(NA, 10L), class = "data.frame")
, что определяет значения для столбцов в строках, где условие не соответствует действительности? например каково значение 'col1', если' con' = <= 3? NA? –
Итак, у вас есть два столбца всех значений NA в вашем примере? –
@Citrus Рассмотрим пример, который отражает, по крайней мере, некоторые условия, а не одно, не отвечает ни одному из условий. – akrun