Как мне обработать двойные вкладки при импорте текста TX в R? - PullRequest
0 голосов
/ 13 мая 2019

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

Мне кажется, мне нужно что-то сказать, что если одна вкладка следует за другой вкладкой, вторую следует игнорировать.

Я пытался использовать read.table с и без sep = "\ t", а также read_table.

data <- read.table("frog.txt",sep="\t", skip = 9, header=TRUE)

Что я должен получить из этого:

|Ind  |Ad    |Brand  |Net  |Date  |Program  |Genre  |Metric|
|167  |Widg  |Beta   |UPN  |1/1   |Bob      |Anim   |100   |
|168  |Widg  |Gamma  |TNN  |2/2   |Burger   |Anim   | 50   |
|169  |Cog   |Beef   |TLA  |3/3   |Cheers   |Com    |199   |

Но я получаю

|Ind  |Ad    |Brand  |Net  |Date  |Program  |Genre  |Metric|
|167  |Widg  |Beta   |UPN  |1/1   |Bob      |Anim   |100   |
|168  |Widg  |Gamma  |TNN  |2/2   |Burger Anim 50          |
|Cog Beef TLA 3/3 Cheers Com 199                           |

Ответы [ 2 ]

2 голосов
/ 13 мая 2019

Одним из быстрых решений является преобразование всех ваших двойных вкладок в отдельные вкладки:

library(data.table)
data <- readLines("frog.txt")
data <- gsub("\t\t", "\t", data)
data <- fread(text=data, sep="\t", skip = 9, header=TRUE)
0 голосов
/ 13 мая 2019

Пока в полях нет пробелов, я думаю, что вы допустили еще одну ошибку, поскольку достаточно просто пропустить sep.Например:

read.table(text = "1\t\t2\t3")
##   V1 V2 V3
## 1  1  2  3
...