str_replace определенное количество пробелов, за которыми следует точка - PullRequest
2 голосов
/ 01 июля 2019

Я недавно получил сотни CSV-файлов со многими столбцами. У меня проблемы с одним из столбцов p.value. Этот столбец имеет значения типа 1.88737914186277e-14 ., где за фактическим числом следуют ровно 6 пробелов, а затем точка. Я хочу заменить все это в моей трубе dplyr. Как я могу это сделать?

Я пробовал, например, df %>% dplyr::mutate(p.value=str_replace(p.value, "[ .]", "")) но, очевидно, не работает. Любая помощь будет оценена. Спасибо.

Ответы [ 2 ]

1 голос
/ 01 июля 2019

Попробуйте использовать этот шаблон: "\\s+\\.$".Он обнаруживает один или несколько пробелов (\\s+) и точку в конце строки (\\.$)

 df %>% 
   dplyr::mutate(p.value = str_replace(p.value, pattern = "\\s+\\.$", ""))
0 голосов
/ 01 июля 2019

Поскольку p-значения более полезны в качестве чисел, я бы рекомендовал использовать readr::parse_number, который автоматически распознает и преобразует строковые цифры:

library(tidyverse)

df %>% mutate(p.value = parse_number(p.value))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...