2016-03-23 14 views
1

Ich habe ein Problem in Bezug auf die Datenkonvertierung mit Sprache R.Konvertieren von Zeichenfolge in Numerische in R

Ich habe zwei Daten, die in Variablen namens lung.X und lung.y gespeichert werden, unten sind die Beschreibung meiner Daten.

> str(lung.X) 
chr [1:86, 1:7129] " 170.0" " 104.0" " 53.7" " 119.0" " 105.5" " 130.0" ... 
- attr(*, "dimnames")=List of 2 
    ..$ : chr [1:86] "V3" "V4" "V5" "V6" ... 
    ..$ : chr [1:7129] "A28102_at" "AB000114_at" "AB000115_at" "AB000220_at" ... 

und

> str(lung.y) 
num [1:86] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ... 

lung.X ist eine Matrix (Reihe: 86 Spalte: 7129) und lung.y ist eine Anordnung von Zahlen (86 Einträge)

jemand wissen, wie oben Daten konvertieren in das Format unten?

> str(lung.X) 
    num [1:86, 1:7129] 170 104 53.7 119 105.5 130... 

Ich dachte, ich mag dieses

lung.X <- as.numeric(lung.X) 

tun sollte, aber ich habe diese stattdessen

> str(lung.X) 
num [1:613094] 170 104 53.7 119 105.5 130... 

Der Grund, dies zu tun ist, weil ich lung.X brauchen nur numerisch zu sein.

Vielen Dank.

+2

Versuchen 'Lunge. X [] <- as.numeric (lung.X) 'oder' mode (lung.X) <- "numeric" '. – sgibb

+2

Fügen Sie einfach das Dimensionsattribut zurück, z. 'dim (lung.X) <- c (86,7129)' – joran

+0

@sgibb, der erste funktioniert nicht, aber der zweite funktioniert! Vielen Dank. –

Antwort

0

Geben Sie diesen einen Versuch: m <- matrix(as.numeric(lung.X), nrow = 86, ncol = 7129)

Wenn Sie es in Datenrahmen/Listenformat benötigen, df <- data.frame(m)

+0

Danke. Es funktioniert! –

+0

Kein Problem, Rafidah. –

1

Sie die mode Ihre matrix zu numeric ändern könnten:

## example data 
m <- matrix(as.character(1:10), nrow=2, 
      dimnames = list(c("R1", "R2"), LETTERS[1:5])) 
m 
# A B C D E 
# R1 "1" "3" "5" "7" "9" 
# R2 "2" "4" "6" "8" "10" 

str(m) 
# num [1:2, 1:5] 1 2 3 4 5 6 7 8 9 10 
# - attr(*, "dimnames")=List of 2 
# ..$ : chr [1:2] "R1" "R2" 
# ..$ : chr [1:5] "A" "B" "C" "D" ... 
# NULL 

mode(m) <- "numeric" 
str(m) 
# num [1:2, 1:5] 1 2 3 4 5 6 7 8 9 10 
# - attr(*, "dimnames")=List of 2 
# ..$ : chr [1:2] "R1" "R2" 
# ..$ : chr [1:5] "A" "B" "C" "D" ... 
# NULL 
m 
# A B C D E 
# R1 1 3 5 7 9 
# R2 2 4 6 8 10 
Verwandte Themen