R: Как я могу заменить десятичные символы в моем наборе данных? - PullRequest
0 голосов
/ 06 марта 2020

Я работаю с log10() и борюсь за преобразование своего набора данных, чтобы он работал.

Мой набор данных выглядит примерно так:

question_ID estimate
1   1   15000088
2   1   2,00E+07
3   1   1.2e+07
4   2   4.3e+07
5   2   6,00E+08
6   2   14500000
7   3   3500000
8   3   8,00E+06
9   3   1.2e+07

Я хочу запустить этот синтаксис:

m <- dt %>% group_by(question_ID) %>% summarize(m=median(log10(estimate)))

и получить ошибку:

Error in Math.factor(estimate) : ‘log10’ not meaningful for factors

Я проверил с sapply(dt, class) и знаю, что estimate является фактором. Я думаю, что проблема в том, что некоторые значения пишутся с , вместо .. Потому что log10() работает, например, с 8.5E+07 и 8.5e+07, но не с 8,5E+07.

Как заменить десятичный знак?

Я пробовал несколько вещей, но все они не работают.

dt$estimate <- gsub("\\.", ",", dt$estimate)
dt$estimate <- as.factor(dt$estimate)

format(dt, decimal.mark=".")
options(scipen = 999)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...