У меня есть фрейм данных, который выглядит следующим образом
id col1
1 4
2 -
3 +
4 _
5 N
6 text-abc
7 50
Я стремлюсь иметь фрейм данных, который выглядит следующим образом:
id col1
1 4
2 0
3 0
4 0
5 0
6 0
7 50
Я хочу сохранить числовые значения таким образом,они и конвертируют "-", "+", "_", "N" и "text-abc" в нули.То есть я бы хотел, чтобы в этом столбце были только числовые значения, преобразовывал тексты и другие строки в нули и оставлял числовые значения такими, как они есть.Это очень длинный столбец (то есть тысячи строк) и может содержать другой ненужный текст.
Чтобы исправить, я попытался сделать это вручную, используя следующее:
df$col1 <- gsub("text-abc", 0, df$col1)
df$col1 <- gsub("+", 0, df$col1)
df$col1 <- gsub("-", 0, df$col1)
df$col1 <- gsub("_", 0, df$col1)
df$col1 <- gsub("N", 0, df$col1)
Однако, как уже упоминалось, это не практично для больших наборов данных.Поэтому я попробовал следующее:
df$col1 <- gsub("[^[[:alnum:]]", 0, df$col1)
Но он просто изменил «text-abc» на «text0abc» вместо того, чтобы превратить все это в 0. В идеале, я хотел бы, чтобы столбец содержал толькочисловые значения.
Любая помощь будет принята с благодарностью.Заранее большое спасибо за ваше время!