Як відновити в r: заміна має x рядків, дані мають y


Повідомлення про помилку, яке може виникнути під час використання R:

 Error in `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",: 
  replacement has 3 rows, data has 5

Ця помилка виникає, коли ви намагаєтеся додати новий стовпець до кадру даних, значення якого базуються на існуючому стовпці, але не можете спочатку створити новий стовпець.

У наступному прикладі показано, як вирішити цю помилку на практиці.

Як відтворити помилку

Припустимо, ми створюємо такий кадр даних у R:

 #create data frame
df <- data. 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

Тепер припустімо, що ми спробуємо додати новий стовпець до фрейму даних під назвою 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 `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",: 
  replacement has 3 rows, data has 5

Ми отримуємо помилку, оскільки назва змінної conf_full ще не існує, що означає, що ми ще не можемо призначити значення цьому стовпцю.

Як уникнути помилки

Щоб уникнути цієї помилки, ми можемо спочатку створити змінну conf_full і просто призначити їй значення NA:

 #create conf_full variable
df$conf_full <- NA

Тепер, коли змінна існує, ми можемо присвоїти їй значення:

 #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

Зауважте, що цього разу ми не отримуємо жодних помилок, оскільки ми спочатку створили змінну conf_full , перш ніж намагатися призначити їй значення.

Додаткові ресурси

У наступних посібниках пояснюється, як виправити інші типові помилки в R:

Як виправити в R: аргументи містять різну кількість рядків
Як виправити в R: помилку під час вибору невикористаних аргументів
Як відремонтувати в R: заміна має нульову довжину

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *