Sorry about this one but I can't find an easy solution to this.
I have a data frame:
>bla<-c(1)
>df<-data.frame(bla)
>df
bla
1 1
I want to append values to the bottom of the column (hence not create a new one, as explained here). For instance, get:
bla
1 1
2 2
3 3
4 4
5 5
I tried:
df[2,1]<-c(2,3,4,5)
df[,1]<-c(2,3,4,5)
but I get:
Error in `[<-.data.frame`(`*tmp*`, 2, 1, value = c(2, 3, 4, 5)) :
replacement has 4 rows, data has 1
Maybe dataframes are not appropriate and I should try with matrixes instead? Any suggestion would be much appreciated! :)
You need to convert c(2,3,4,5)
to a data frame then use rbind to join the rows as @Ananda Mahto did in his comment
df <- rbind(df, data.frame(bla = c(2,3,4,5)))
Where 'bla' is the name of the column in df
Another option if you know the final dimensions in advance is just to create an empty dataframe of the given size and then append rowwise:
blah <- data.frame(matrix(NA, nrow=N, ncol=M))
for (i in 1:N) {
yourResults <- yourFunction()
blah[i,] <- yourResults
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With