I was trying to add results of a for loop into a dataframe as new rows, but it gets an error when there is a new result with more columns than the original dataframe, how could I add the new result with extra columns to the dataframe with adding the extra column names to the original dataframe?

e.g.
original dataframe:

-\_\_\_\_\_\_A B C

* x1 1 1 1
* x2 2 2 2
* x3 3 3 3

I want to get

-\_\_\_\_\_\_A B C D

* x1 1 1 1 NA
* x2 2 2 2 NA
* x3 3 3 3 NA
* X4 4 4 4 4

I tried rbind (Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not match)
and rbind\_fill (Error: All inputs to rbind.fill must be data.frames)
and bind\_rows (Argument 2 must have names)