2013-11-20 5 views
0

У меня есть список из 6 списков:Создание структуры данных из списка в R

> dput(ATQ1) 
list(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 
0, 0), c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1), c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1), c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1), c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1), c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1)) 

Я хочу написать короткую программу, чтобы назвать их (например, col1, col2, col3, COL4, col5 , col6.), а затем создайте кадр данных, используя эти данные, где каждый список представляет столбец кадра данных. Может кто-нибудь дать мне знать, как это сделать? Я искал решение, но не смог его получить. Благодарю.

+0

'as.data .frame' и 'names' вы здесь друзья, первый конвертирует список в data.frame, а второй позволяет вам называть столбцы. –

+0

О, ничего себе! Круто! Я никогда не знал, что для кадра данных не требуется иметь имена столбцов. Кажется, что кадр данных представляет собой список списков однородного размера. – Sumit

+0

@JoshuaUlrich выглядит, просто сделал поиск, используя очевидные термины, и нашел ссылки на этот пост ... выглядит разумно, если немного сложно для нового пользователя R, поскольку OP, похоже, –

ответ

1

Вы можете назвать свой список l следующим образом:

names(l) -> c("A", "B", "C", "D", "E", "F") 

, а затем создать data.frame:

> data.frame(l) 
    A B C D E F 
1 1 1 1 1 1 1 
2 1 1 1 1 1 1 
3 1 1 1 1 1 1 
4 1 1 1 1 1 1 
5 1 1 1 1 1 1 
6 1 1 1 1 1 1 
7 1 1 1 1 1 1 
8 1 1 1 1 1 1 
9 1 1 1 1 1 1 
10 1 1 1 1 1 1 
11 1 1 1 1 1 1 
12 1 1 1 1 1 1 
13 1 1 1 1 1 1 
14 0 1 1 1 1 1 
15 0 1 1 1 1 1 
16 0 1 1 1 1 1 
17 0 1 1 1 1 1 
18 0 1 1 1 1 1 
19 0 1 1 1 1 1 
20 0 1 1 1 1 1 

как уже отмечалось в комментарии Sam Mason

Смежные вопросы