Home » How to Fix in R: replacement has X rows, data has Y

How to Fix in R: replacement has X rows, data has Y

by Tutor Aspire

One error message you may encounter when using R is:

Error in `$

This error occurs when you attempt to add a new column to a data frame whose values are based on an existing column, but you fail to first create the new column.

The following example shows how to resolve this error in practice.

How to Reproduce the Error

Suppose we create the following data frame in R:

#create data frame
df frame(conference=c('W', 'W', 'W', 'E', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34))	

#view data frame
df

  conference points assists
1          W     99      33
2          W     90      28
3          W     86      31
4          E     88      39
5          E     95      34

Now suppose we attempt to add a new column to the data frame called conf_full:

#attempt to create new column based on conference name
df$conf_full[which(df$conference=='W')] West'
df$conf_full[which(df$conference=='E')] East'

Error in `$

We receive an error because the variable name conf_full doesn’t yet exist, which means we can’t assign values to that column yet.

How to Avoid the Error

To avoid this error, we can first create the conf_full variable and simply assign values of NA to it:

#create conf_full variable
df$conf_full 

Now that the variable exists, we can assign values to it:

#create new column based on conference
df$conf_full[which(df$conference=='W')] West'
df$conf_full[which(df$conference=='E')] East'

#view updated data frame
df

  conference points assists conf_full
1          W     99      33      West
2          W     90      28      West
3          W     86      31      West
4          E     88      39      East
5          E     95      34      East

Notice that we don’t receive any error this time because we first created the conf_full variable before attempting to assign values to it.

Additional Resources

The following tutorials explain how to fix other common errors in R:

How to Fix in R: Arguments imply differing number of rows
How to Fix in R: error in select unused arguments
How to Fix in R: replacement has length zero

You may also like