2016-03-23 2 views
1

У меня есть проблема с преобразованием данных с использованием языка R.преобразование строки в числовое значение в R

У меня есть две данные, которые хранятся в переменных под названием lung.X и lung.y, ниже приведены мои данные.

> 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" ... 

и

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

lung.X матрица (ряд: 86 цв: 7129) и lung.y является массив чисел (86 записей)

ли кто-нибудь знает, как конвертировать выше данных в формате ниже?

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

Я думал, что я должен делать, как этот

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

, но я получил это вместо

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

Причиной этого является, потому что мне нужно lung.X быть только числовыми.

спасибо.

+2

Попробуйте 'легких. X [] <- as.numeric (lung.X) 'или' mode (lung.X) <- "numeric" '. – sgibb

+2

Просто добавьте атрибут размеров назад, например. 'dim (lung.X) <- c (86,7129)' – joran

+0

@sgibb, первый не работает, но второй работает! Спасибо. –

ответ

0

Дайте этому попытку: m <- matrix(as.numeric(lung.X), nrow = 86, ncol = 7129)

Если вам это нужно в формате dataframe/список, df <- data.frame(m)

+0

Спасибо. Работает! –

+0

Без проблем, Рафида. –

1

Вы можете изменить mode вашего matrix к numeric:

## 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 
Смежные вопросы