2012-03-14 5 views
0

Когда я создаю dataframe я:Как создать DataFrame с различным количеством значений?

dt = data.frame(a=c(1:5),b=c(1:20)) 
dt 
    a b 
1 1 1 
2 2 2 
3 3 3 
4 4 4 
5 5 5 
6 1 6 
7 2 7 
8 3 8 
9 4 9 
10 5 10 
11 1 11 
12 2 12 
13 3 13 
14 4 14 
15 5 15 
16 1 16 
17 2 17 
18 3 18 
19 4 19 
20 5 20 

, как вы можете увидеть значение первого столбца (a) повторяются. Как я могу создать разные «столбцы» с различным количеством значений?

Благодаря H

ответ

3

Используйте list. A data.frame - это особый вид списка, в котором все элементы имеют одинаковую длину.

list(a=c(1:5),b=c(1:20)) 
$a 
[1] 1 2 3 4 5 

$b 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
+0

Могу ли я добавить вектор в список, если я уже создал список()? Например, со списком в вашем примере, могу ли я добавить столбец c в другую строку кода? – Dail

+2

Да, вы можете использовать функцию 'c' для объединения списков. например, предположим, что вы вызвали вышеуказанный 'l1', затем используйте' c (l1, list (c = 1: 3)) ' – James

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