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에서 복구하는 방법: 교체 길이가 0입니다.