Для некоторых функций, которые я хотел бы представить в своих данных, мне нужны числовые значения в моем кадре данных. Теперь они в формате фактора.Преобразование коэффициента в числовое значение в кадре данных
Есть ли какой-либо простой способ «преобразовать» весь кадр данных в числовой?
Часть 'dput':
"0.966968221", "0.971526427", "0.975908363", "0.976354638",
"0.983503732", "0.984850291", "0.985224666", "0.987182132",
"0.987468192", "0.988309086", "0.994685984", "0.996238630",
"0.997917853", "0.998762891", "0.999968143", "1.000000000"
), class = "factor")), .Names = c("10", "33.95", "58.66",
"84.42", "110.21", "134.16", "164.69", "199.1", "234.35", "257.19",
"361.84", "432.74", "506.34", "581.46", "651.71", "732.59", "817.56",
"896.24", "971.77", "1038.91"), row.names = c("at1g01050.1",
"at1g01080.1", "at1g01090.1", "at1g01320.2", "at1g01470.1", "at1g01800.1"
), class = "data.frame")
класса значений в data.frame:
> class(tbl_alles[103,5])
[1] "factor"
> class(tbl_alles[553,12])
[1] "factor"
То, что я пытался до сих пор:
Первая попытка:
tbl_alles <- sapply(tbl_alles, as.numeric) ## Changing the values in the data frame
Вторая попытка:
> as.numeric(as.character(tbl_alles))
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Warning message:
NAs introduced by coercion
Третья попытка:
> as.numeric(levels(tbl_alles))[tbl_alles]
Error in as.numeric(levels(tbl_alles))[tbl_alles] :
invalid subscript type 'list
Любое решение?
+1, для последнего случая, я бы также использовать: tbl_alles [] <- lapply (tbl_alles, функция (х) as.numeric (как. характер (x))) – akrun
@akrun, Большое предложение. Я всегда забываю '[]' сохранение формата. :). Отредактировано –
Последнее работает идеально для меня. Я не смотрел на других, но большое спасибо! –