Программное обеспечение R, read.csv, несколько разделителей - PullRequest
1 голос
/ 26 апреля 2020

Кто-нибудь знает способ чтения файла CSV в R с несколькими разделителями?

a<-read.csv("C:/Users/User/Desktop/file.csv", sep=",", header=FALSE)

Здесь у меня есть следующий набор данных (файл txt / csv), разделенный запятыми и пробелами:

5.006,84.698  
4.604,87.725  7.250,88.392  
6.668,91.556  
5.927,95.440  
4.953,99.695  7.387,100.489  
6.466,104.447  
5.599,107.548  
4.053,111.411  7.440,112.892  
6.096,116.417  
4.805,119.031  7.546,120.671  
6.149,123.793  
4.307,127.201  7.461,129.974  
5.493,132.853  7.641,135.393  

, и я хочу, чтобы он был прочитан в виде таблицы с четырьмя столбцами, например:

72 5.006  84.698    NA      NA  
73 4.604  87.725 7.250  88.392  
74 6.668  91.556    NA      NA  
75 5.927  95.440    NA      NA  
76 4.953  99.695 7.387 100.489  
77 6.466 104.447    NA      NA  
78 5.599 107.548    NA      NA  
79 4.053 111.411 7.440 112.892  
80 6.096 116.417    NA      NA   
81 4.805 119.031 7.546 120.671  
82 6.149 123.793    NA      NA  
83 4.307 127.201 7.461 129.974  
84 5.493 132.853 7.641 135.393  

Знаете ли вы, как можно так прочитать в R?

Ответы [ 3 ]

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

Вы можете открыть файл в любом текстовом редакторе (блокнот или что-то подобное) и сделать разделители общими для всего файла. Вы можете либо заменить ',' пробелами, либо наоборот, используя Find and Replace all и сохранить файл.

После этого вы можете использовать read.csv с этим новым разделителем.

a <- read.csv("C:/Users/User/Desktop/file.csv", sep= " ", header=FALSE, fill = TRUE)
1 голос
/ 26 апреля 2020

Мы можем попытаться использовать readLines(), чтобы прочитать каждую строку как строку. Затем мы можем разделить несколько разделителей и свернуть их во фрейм данных.

file <- "C:/Users/User/Desktop/file.csv"
txt <- readLines(file, sep = ""))
y <- strsplit(txt, "[, ]+")
z <- lapply(y,function(x){as.data.frame(t(as.numeric(x)))})
df <- do.call(rbind.fill, z)
df
0 голосов
/ 26 апреля 2020

Один из вариантов - использовать Excel. Вы можете выбрать несколько разделителей (разделителей) на этапе импорта (шаг мастера 2). Запятая и пробел являются одним из вариантов по умолчанию, но вы также можете выбрать другие символы.

Затем импортируйте файл Excel, используя один из множества пользовательских пакетов, например, readxl , или сохраните как текст и используйте read.csv / read.table.

...