У меня есть большой набор Data, который находится в формате без ограничений, который я пытаюсь импортировать в R. Набор данных поставляется с файлом Column Locations, который включает номер строки, имя столбца и положение символа переменной. Существует ли существующий пакет для обработки данных этого типа? Если нет, как это можно сделать?Чтение текстового файла без разделителей в R
Final Code I используется для анализа ширины от Колонном расположений файлов и использовать их, чтобы прочитать файл данных:
ColumnNames_Download <- function(){
if(file.exists("ANES_ColumnNames.txt")){
columnNames <- read_delim("ANES_ColumnNames.txt", delim = " ")
} else{
download.file(ANES_ColNamesURL, "ANES_ColumnNames.txt", mode = "wb")
columnNames <- read_delim("ANES_ColumnNames.txt", delim = " ")
}
return(columnNames)
}
ColumnWidths <- function(columnNames){
columnNames_list <- columnNames$File
columnNames_listSub <- gsub(pattern = "-", replacement = ":",
x = columnNames_list)
columnNames_split <- strsplit(columnNames_listSub, split = ":")
columnWidth <- vector()
for (i in seq_along(columnNames_split)){
if (length(columnNames_split[[i]]) > 1){
columnWidth <- append(columnWidth,c(as.numeric(
columnNames_split[[i]][2]) -
as.numeric(columnNames_split[[i]][1]) + 1))
} else{
columnWidth <- append(columnWidth,c(1))
}
}
}
Data_Download <- function(Width){
read_fwf("ANES_Data.txt",fwf_widths(Width))
}
Отъезд 'Я использую ширину аргумент, чтобы установить позицию символа в каждой колонке read.fwf' –
@Jacob H ли? – frog11
Также 'read_fwf' из пакета' readr' имеет более эффективную реализацию для файлов с фиксированной шириной. – MrFlick