Преобразовать вектор именованных символов в data.frame

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

testVect 

Ответы на вопрос(3)

Решение Вопроса

Это'так просто, какdata.frame(as.list(testVect)), Или, если вы хотите разумные типы данных для ваших столбцов,.data.frame(lapply(testVect, type.convert), stringsAsFactors=FALSE)

 JWilliman03 апр. 2018 г., 00:11
@DeleetТиббл будет работать сas_tibble(as.list(testVect)) или же (as_data_frame(as.list(testVect))as_data_frame это псевдоним дляas_tibble).
 merv03 июл. 2018 г., 22:57
В соответствии с комментариями @Deleet и @JWillliman,data.table(as.list(...)) не работает, а вместоas.data.table(as.list(...)) делает.
 Deleet19 мар. 2018 г., 22:34
Как ни странно,Тиббл Аналог этого не работает:data_frame(as.list(testVect)) вернуть 5 строк данных

Я собираюсь сделать удар в этом:

test.vector 
 Tjebo04 мар. 2019 г., 19:06
Или даже короче, простоdata.frame(t(testVect))

Ответы @MatthewPlourde и @JackRyan работают, но если у вас есть длинный именованный вектор, раздражает наличие фрейма данных с одной строкой и множеством столбцов. Если ты'Я предпочел бы иметь "ключ» колонка и "значение" столбец с множеством строк, любое из следующих должно работать:

data.frame(keyName=names(testVect), value=testVect, row.names=NULL)

##        keyName      value
## 1   db_version 11.2.0.3.0
## 2 elapsed_time      12.89
## 3     cpu_time      12.71


## Suggested by @JWilliman
tibble::enframe(testVect)

## # A tibble: 3 x 2
##   name         value
##           
## 1 db_version   11.2.0.3.0
## 2 elapsed_time 12.89
## 3 cpu_time     12.71


## Suggested by @Joe
stack(testVect)
##       values          ind
## 1 11.2.0.3.0   db_version
## 2      12.89 elapsed_time
## 3      12.71     cpu_time
 Joe10 нояб. 2018 г., 20:15
stack(testVect) также делает это, но оставляет значения в виде символов.
 JelenaČuklina31 янв. 2018 г., 17:29
грустно, что естьне один вкладыш
 JWilliman03 апр. 2018 г., 00:18
Можно также использовать.tibble::enframe(testVect)
 Agile Bean28 нояб. 2018 г., 04:46
@ Jelena-bioinf как однострочник с синтаксисом dplyr, вы можете использоватьtestVect %>% as.list %>% as.data.frame %>% tidyr::gather() Это на самом деле производит 'ключ» а также 'значение' столбцы, на которые ссылается @dnlbrky.I '

Ваш ответ на вопрос