2015-07-29 10 views
6

Oto w jaki sposób można to zrobić:R: utworzyć pustą ramkę danych z 200 wierszy i kolumn nie

df <- data.frame(a=1:200) 
df$a <- NULL 
df 

Wynik:

data frame with 0 columns and 200 rows 

Czy to samo można osiągnąć tylko z jednego polecenia?

+3

Chyba pierwsze pytanie, które przychodzi do głowy jest _ _ "Dlaczego?". Spidey-sense mówi, że użyjesz pętli 'for', aby spróbować wypełnić to i prawdopodobnie jest lepszy sposób, jeśli opublikujesz to, co próbujesz osiągnąć. – hrbrmstr

+0

Sprawdź również [tutaj] (http://stackoverflow.com/questions/9917545/r-define-dimensions-of-empty-data-frame) i [tutaj] (http://stackoverflow.com/questions/10689055/ create-an-empty-data-frame) – akrun

+1

@hrbrmstr, Nie, to była tylko ciekawość. Wiem, o czym myślisz, i tak, łączę lapply z Reduce dla tego samego efektu. – January

Odpowiedz

13

może działać (jeśli wywołanie funkcji 2 nie jest uważane 2 poleceń):

data.frame(matrix(, nrow=200, ncol=0)) 
#data frame with 0 columns and 200 rows 

Edit: Inną opcją jest data.frame()[1:200, ]:

data.frame()[1:200, ] 
# data frame with 0 columns and 200 rows 
+0

R mówi "brakujący argument" w "macierzy" –

+1

@SashkoLykhenko której wersji 'R'? (działa zgodnie z R 3.3.0) – Cath

+1

Rzeczywiście, pracował z R 3.4 –

2

Co na ten temat ?

data.frame(row.names = 1:200) 
1

To, co odkryłem poprzez dput:

structure(
    list(), 
    .Names = character(0), 
    row.names = c(NA, -200L), 
    class = "data.frame" 
) 
Powiązane problemy