Работа с неструктурированными данными в R - PullRequest
0 голосов
/ 29 января 2019

PSA: я не уверен, относится ли это к теме / относится к мета

Новые пользователи часто публикуют свой код в версии, напечатанной в его консоли, например,

"Вот мои данные:"

> data
   Num Data
 1   1    A
 2   2    B
 3   3    C
 4   4    D
 5   5    E

Насколько я знаю, это часто боль или невозможно воспроизвести. Есть ли очевидный способ, которым мне не хватает, в котором возможно преобразование неструктурированных данных в воспроизводимые данные? (помимо того, что просит пользователя вывести свои данные)

Если нет, я хотел бы рассмотретьсоздание пакета для этого.Ниже приведен ненадежный, ненадежный пример функции, существующей в таком пакете.

Dump_to_DF<-function(dump){

test<-regmatches(dump
, gregexpr(".*\n|.*$",
dump, perl=TRUE))

test2<-unlist(test)

test3<-strsplit(test2, split="\\s+",perl = T)

len<-length(test3)

test5<-list()

for(i in 2:len){
    test4<-unlist(test3[[i]])
    test5[[i]]<-test4[-1]
    }

test5<-test5[-1]

Fin_Data<-do.call(rbind.data.frame, test5)

names(Fin_Data)<-test3[[1]]

return(Fin_Data)

}

data<-"Num Data
 1   1    A
 2   2    B
 3   3    C
 4   4    D
 5   5    E"

Data<-Dump_to_DF(data)

> Data
  Num Data
1   1    A
2   2    B
3   3    C
4   4    D
5   5    E

Существует ли что-либо, что уже делает нечто похожее на то, что делает эта функция?

Для всех, кто интересуется моими мотивами, я ненавижу ждать и предпочел бы быстро отредактировать новый вопрос, включив в него воспроизводимые данные, чтобы каждый мог быстрее приступить к работе над ответом.Также, в конечном итоге, получить SO-бота, предлагающего правки с использованием чего-то подобного, было бы замечательно.

1 Ответ

0 голосов
/ 29 января 2019

Один из способов чтения данных, которые вы указали, выглядит следующим образом:

data <- read.table(text="Num Data
         1   1    A
         2   2    B
         3   3    C
         4   4    D
         5   5    E")

Если в нем есть заголовки, вам может потребоваться добавить header=T в команду.

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