Я работаю с 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)