Прочитать данные из GitHub и разбить строку на несколько строк в R - PullRequest
1 голос
/ 06 апреля 2020

Этот текстовый файл хранится на GitHub:

https://github.com/lopezbec/COVID19_Tweets_Dataset/blob/master/Coronavirus%20Tweets_ID/coronavirus_2020_01_22.txt

Содержит уникальную большую строку со значениями, сохраненными в виде списка (значения, разделенные ["123", "1234", ...]).

Я хотел бы разделить значения и записать каждое значение в одну строку.

Я пытался выяснить это, но мой код, похоже, не работает.

my_data <- scan (file=input, what = character())
row <- strsplit(my_data, ",")

Ответы [ 3 ]

1 голос
/ 06 апреля 2020

Это, вероятно, близко к тому, что вы хотите.

Обратите внимание, что вы можете напрямую загружать содержимое raw.github в data.frame, используя readr::read_tsv(). Ключевым моментом здесь является присвоение заголовка имени столбца (я выбрал x). Затем мы разделяем то, на что вы нацеливались (используя , вместо ,), и выполняем некоторую очистку для [] (уведомление ускользает).

df <- readr::read_tsv("https://raw.githubusercontent.com/lopezbec/COVID19_Tweets_Dataset/master/Coronavirus%20Tweets_ID/coronavirus_2020_01_22.txt", col_names = "x")

vec <- unlist(strsplit(df$x, ", "))
head(vec)
tail(vec)
vec <- gsub(x = vec, pattern = "\\[|\\]", replacement = "") 

# optional
vec <- as.numeric(vec)
write.table(vec, "filename.txt")
0 голосов
/ 06 апреля 2020

Другая опция, использующая только scan и gsub:

my_data <- scan("coronavirus_2020_01_22.txt", what = character())
data_vec <- gsub("(,|\\[|\\])", "",  my_data)
0 голосов
/ 06 апреля 2020

myfile.txt - это ваш файл данных.

# read csv file as data frame
df <- read.table(file = "myfile.txt", header = FALSE, sep = ",", stringsAsFactors = FALSE)

# remove square brackets and convert character to numeric class
df[] <- lapply(df, function(x) as.numeric(gsub(x = x, pattern = "\\[|\\]", replacement = "")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...