Я совершенно новый для «R» (так может показаться немного базовым) Я извлек некоторые данные из Всемирной организации здравоохранения, но изо всех сил пытаюсь преобразовать ряд данных, которые имеют некоторые точек данных, классифицированных как факторы, а некоторые - как числа.Фактор на числовой номер в R
Во-первых, я выделил строку данных, которая представляет частные расходы на здравоохранение в разбивке по годам (между 2003 и 2014)
> private_exp
2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
32 41.3 41.3 38.6 37.8 36.9 33 33.4 33.6 30.4 28.2 28.2 25.3
Когда я посмотрел на структуру данных, я заметил, что некоторые точек данных перечислены как числа, а другие перечислены как факторы (которые я нашел нечетными).
> str(private_exp)
'data.frame': 1 obs. of 12 variables:
$ 2003: Factor w/ 23 levels "","0","0.2","14.1",..: 15
$ 2004: Factor w/ 20 levels "","0.2","107",..: 15
$ 2005: Factor w/ 21 levels "",">90","0.2",..: 15
$ 2006: num 37.8
$ 2007: Factor w/ 17 levels "","0.9","15",..: 9
$ 2008: num 33
$ 2009: num 33.4
$ 2010: num 33.6
$ 2011: Factor w/ 20 levels "","0.7","13.4",..: 12
$ 2012: num 28.2
$ 2013: num 28.2
$ 2014: num 25.3
Я не очень понимаю, как одна точка данных, скажем, 2003 может быть фактором, с 23 уровнями, когда на самом деле его просто число. Во всяком случае, я попытался изменить его на числовое и не понял выход.
> as.numeric(private_exp$`2003`)
[1] 15
И еще, кажется, фактор:
> private_exp$`2003`
[1] 41.3
23 Levels: 0 0.2 14.1 16.9 2 21.6 2617 2864 3.89 32.3 ... No data
> class(private_exp$`2003`)
[1] "factor"
Это мой первый atempt на делать что-либо с R - я явно что-то отсутствует. Любая помощь будет принята с благодарностью.
Просто угадайте, но попробуйте прочитать данные с помощью 'stringsAsFactors = F' –
, возможно, у вас есть некоторое числовое значение внутри ваших переменных, потому что R рассматривает его как символ и поэтому, поскольку вы не указали, что не хотите символы как факторы, R импортирует переменные как факторы. Вы можете сделать 'as.numeric (as.character (myvariable))', чтобы изменить вашу переменную 'myvariable' как числовую, а нечисловые значения будут преобразованы в NA. Или вы можете сначала найти нечисловые значения в своем входном файле, исправить их и снова импортировать файл в R, где переменные должны быть импортированы непосредственно в числовые – Cath