2013-02-21 27 views
7
> X864291X8X74 
[1] 8.0000000000 9.0000000000 10.0000000000 6.0000000000 8.0000000000 
10 Levels: 0.0000000000 10.0000000000 12.0000000000 3.0000000000 4.0000000000 6.0000000000 ... NULL 

> as.numeric(X864291X8X74) 

[1] 8 9 2 6 8 

Yanlış anlaşılanlar nelerdir? as.numerik 8 9 10 6 8 sonucu olmamalı?R'de as.numeric ile ilgili sorun nedir?

Doğru sonucu nasıl alabilirim?

+0

R.'de as.numeric ile ilgili bir sorun yok. Tam olarak gerektiği gibi çalışıyor;) –

cevap

20

Vektörünüz factor'dur. Bu soru birkaç kez sorulmuştur, örn .: here, here, here. Bir faktörü sayısal olarak dönüştürmek için önce character'a dönüştürmeniz gerekir. as.numeric(levels(f))[f] tavsiye edilir,

yaklaşık olarak orijinal sayısal değerlere bir faktör f dönüştürmek için ve biraz daha verimli as.numeric(as.character(f)). daha

: ?factor devletler de

as.numeric(as.character(my_vec)) 
+0

çalıştı, teşekkürler – teGuy

+0

r korkunç bir dildir –

2

belgeleri: Deneyin Yani aşağıdaki gibi çalışır:

as.numeric(levels(my_vec))[my_vec] 
İlgili konular