Сохранить символьные векторы переменной длины в CSV-файл в R - PullRequest
0 голосов
/ 24 марта 2020

У меня есть "для l oop" в сценарии R. В результате я получаю список с переменным числом идентификаторов в конце каждого l oop. Мой вопрос прост: как лучше всего сохранить эту информацию? Когда я делаю для циклов с векторами чисел c, я могу использовать вектор [i] и сохраняется в позиции, но здесь у меня есть список переменного числа символов. Последней таблицей, которую я хотел бы иметь, была бы таблица csv, поскольку я не могу использовать data.frame для переменной длины. Каждый столбец будет одним из шагов для l oop, а каждая строка будет списком идентификаторов, извлеченных в этом конкретном шаге l oop.

Я пытаюсь привести пример (он не работает, но это моя лучшая попытка!) и как бы я хотел получить результат:

a=c("a","b","c","d","e","f","g","h","i")
b=c(1,2,1,1,2,3,1,3,3)
data=data.frame(a,b)
i=0
k=0
res=0
for (i in 1:3){
k=data[data$b==i,]
res[i]=k$a
}
res

Результат, который я хотел бы получить, будет таким, как на картинке:

введите описание изображения здесь

Спасибо и извините за мое первое сообщение! Впервые задаю вопросы в этом сообществе:)

1 Ответ

0 голосов
/ 25 марта 2020

Вам не нужно все oop. Вы можете преобразовать данные в широкоформатный формат и затем сохранить их в формате csv, обрабатывая значения NA как пустые.

data$id <- with(data, ave(b, b, FUN = seq_along))
res <- reshape(data = data, direction = "wide", idvar = "id", timevar = "b" )
write.csv(res[-1], file = "mycsv.csv", na = "", row.names = FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...