Преобразование объектов данных в R - PullRequest
0 голосов
/ 05 октября 2019

У меня есть объект данных с именем dat, который выглядит следующим образом:

> dat


          PC1          PC2          PC3          PC4          PC5 
 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05 

И я хочу преобразовать данные в это:

> dat
 [1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05
 [5] 2.589316e-05

Как я могу сделать это в R?

Ответы [ 2 ]

1 голос
/ 06 октября 2019

Как отмечали другие, вам нужно предоставить больше информации - из представленной вами информации неясно, к какому типу относятся ваши данные. Вполне возможно, что у вас есть data.frame, и в этом случае вы можете пойти с ответом Саймона. Тем не менее, вы можете легко получить вектор с именованными элементами:

dat <- c(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05, PC5=2.589316e-05)
> dat
         PC1          PC2          PC3          PC4          PC5 
6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05 
> class(dat)
[1] "numeric"

В этом случае у вас уже есть то, что вам нужно, за исключением меток элементов. Если вам действительно нужно избавиться от них, вы можете отбросить их так:

> names(dat)
[1] "PC1" "PC2" "PC3" "PC4" "PC5"
> names(dat) <- NULL
> dat
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05

Однако удаление их, вероятно, не принесет реальной пользы.

0 голосов
/ 05 октября 2019

Если я правильно понимаю ваши потребности, у вас есть фрейм данных dat, например:

> dat = data.frame(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05,PC5=2.589316e-05) 
> dat
           PC1          PC2          PC3          PC4          PC5
1 0.0006403056 0.0005433502 7.888467e-05 6.776798e-05 2.589316e-05

Если так, вы можете получить вектор следующим образом:

> as.numeric(dat[1,])
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05

... на основе ответа на Преобразовать строку фрейма данных в вектор .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...