Пока данные не сформированы, их все равно можно проанализировать с учетом следующих предположений:
- Заголовок определяет, сколько существует переменных (столбцы в результирующей таблице)
- Сами данные полны - например, нет пропущенных значений
- Данные относятся к единому типу (например,
numeric()
)
Ниже приведен код, который анализирует предоставленные примеры данных, как если бы они были считаны из текстового файла с именем data.txt
:
# read in the header and split on ","
header = strsplit(readLines('data.txt', n=1), ',')[[1]]
# the length of the header determines how many variables there are
# read in the data which appears to have the pattern
# <numbers><whitespace><numbers>...
# skipping the first line since it was already parsed as the header
data = scan('data.txt', skip=1, what=numeric())
# reform the data (which is read in as a 1D numeric vector) into a 2D matrix
# with the same number of columns as there are headers (filling by rows).
# header names are assigned via the `dimnames=` argument
data = matrix(data, ncol=length(header), byrow=T, dimnames=list(NULL, header))
производит следующий вывод:
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11
[1,] 1953 7.4 159565 16.668 8883 47.2 26.7 16.8 37.7 29.7 19.4
[2,] 1954 7.8 162391 17.029 8685 46.5 22.7 18.0 36.8 29.7 20.0