преобразование одного столбца данных в два столбца в R - PullRequest
0 голосов
/ 01 марта 2012

У меня есть текстовый файл с одним столбцом из 1800 записей, которые на самом деле представляют собой два набора данных (размер, возраст), которые были объединены.Первое число (строка 1, столбец 1) - это размер 1, второе число (строка 2, столбец 1) - это возраст 1, третий столбец (строка 3, столбец 1) - размер 2, четвертое число (строка 4, столбец 1) - возраст 2 и т.Кто-нибудь знает, как разбить это на матрицу из двух столбцов по 900 записей в каждом?

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

Предположим, у вас есть data.frame df.Тогда попробуйте это

Size <- df[seq(from = 1, to = nrow(df), by = 2), 1]
Age <- df[seq(from = 2, to = nrow(df), by = 2), 1]
dfNew <- data.frame(Size, Age)
1 голос
/ 07 сентября 2012

Если у вас есть один вектор x, содержащий данные о вашем чередующемся размере и возрасте:

df <- do.call(data.frame, split(x, c("size", "age")))

Если вы хотите использовать матрицу из 2 столбцов, используйте cbind:

df <- do.call(cbind, split(x, c("size", "age")))

Это не самый эффективный способ, но он автоматически дает вам имена столбцов бесплатно.

1 голос
/ 01 марта 2012

Вы можете сделать из нее матрицу и сделать это таким образом.

matrix(DF[,1], ncol=2, byrow=TRUE)

где DF - это фрейм данных, в который вы читаете данные.

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