Как прочитать разделенные пробелом данные во фрейм данных из файла сценария / документа? - PullRequest
6 голосов
/ 09 сентября 2011

Я не мог придумать точно, каким должен был быть вопрос, поэтому, если у вас есть предложение относительно того, каким он должен быть, пожалуйста, дайте мне знать.

Я уже видел способ считывания данных вфрейм данных с вкладками или пробелами в рабочем файле скрипта.Например:

dat <- SOMETHING(
person1    12    15
person2    15    18
person3    20    14
)

Допустим, вы получаете данные с веб-сайта и просто хотите составить таблицу из нескольких вещей, и это выглядит как пустое пространство и т. Д. Я могу открыть текстовый файл и сохранить его.а затем read.table или подобное с csv, но я уверен, что видел данные, прочитанные таким образом, и не могу на всю жизнь вспомнить, как ...

Спасибо

1 Ответ

14 голосов
/ 09 сентября 2011

«Уловка» - это текстовое соединение в качестве аргумента «file» для read.table:

dat <- read.table(textConnection("person1    12    15
person2    15    18
person3    20    14"), stringsAsFactors=FALSE
)
str(dat)
'data.frame':   3 obs. of  3 variables:
 $ V1: chr  "person1" "person2" "person3"
 $ V2: int  12 15 20
 $ V3: int  15 18 14

Аргумент «sep» по умолчанию работает для разделения пробелов.Если вам нужно разделить вкладки, используйте sep = "\ t" (после закрывающей скобки из вызова textConnection).

Редактировать: Это фактически было включено в последующую ревизию базового scanфункция, которой был задан текстовый аргумент.Теперь код может быть просто:

dat <- read.table(text="person1    12    15
    person2    15    18
    person3    20    14", stringsAsFactors=FALSE
    )

Функция readLines все еще требует использования textConnection для чтения из объекта символа, поскольку она не использует scan.

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