R 오류 수정 방법: 이름이 이전 이름과 일치하지 않습니다.
R에서 발생할 수 있는 일반적인 오류는 다음과 같습니다.
Error in match.names(clabs, names(xi)): names do not match previous names
이 오류는 rbind() 함수를 사용하여 두 데이터 프레임을 바인딩하려고 시도했지만 두 데이터 프레임의 열 이름이 일치하지 않을 때 발생합니다.
이 튜토리얼에서는 이 오류를 해결하는 데 사용할 수 있는 정확한 단계를 공유합니다.
예: “이름이 이전 이름과 일치하지 않습니다”를 수정하는 방법
R에 다음과 같은 두 개의 데이터 프레임이 있다고 가정합니다.
#create and view first data frame df1 <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2)) df1 var1 var2 1 1 7 2 3 7 3 3 8 4 4 3 5 5 2 #create and view first second frame df2 <- data. frame (var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) df2 var3 var4 1 3 1 2 3 1 3 6 2 4 6 8 5 8 9
rbind() 함수를 사용하여 두 데이터 프레임을 바인딩하려고 하면 오류가 발생합니다.
#attempt to row bind the two data frames
rbind(df1, df2)
Error in match.names(clabs, names(xi)):
names do not match previous names
두 데이터 프레임의 열 이름이 일치하지 않기 때문에 이 오류가 발생합니다.
첫 번째 데이터 프레임에는 다음과 같은 열 이름이 있습니다.
- var1
- var2
두 번째 데이터 프레임에는 다음 열 이름이 포함됩니다.
- var3
- var4
다음 코드를 사용하여 두 데이터 프레임 간에 열 이름이 동일한지 확인할 수도 있습니다.
#check if column names are identical between two data frames
identical(names(df1), names(df2))
[1] FALSE
열 이름이 동일하지 않음을 알 수 있습니다.
이 오류를 해결하려면 첫 번째 데이터 프레임의 열 이름과 일치하도록 두 번째 데이터 프레임의 열 이름을 수동으로 바꿀 수 있습니다.
#define two data frames df1 <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2)) df2 <- data. frame (var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) #rename second data frame columns names(df2) <- c(' var1 ', ' var2 ') #row bind the two data frames rbind(df1, df2) var1 var2 1 1 7 2 3 7 3 3 8 4 4 3 5 5 2 6 3 1 7 3 1 8 6 2 9 6 8 10 8 9
열 이름이 일치했기 때문에 rbind()가 두 데이터 프레임을 성공적으로 연결했음을 확인할 수 있습니다.
이 오류를 해결하는 또 다른 방법은 names() 함수를 사용하여 첫 번째 데이터 프레임의 열 이름을 두 번째 데이터 프레임에 자동으로 할당하는 것입니다.
#define two data frames df1 <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2)) df2 <- data. frame (var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) #rename second data frame columns names(df2) <- names(df1) #row bind the two data frames rbind(df1, df2) var1 var2 1 1 7 2 3 7 3 3 8 4 4 3 5 5 2 6 3 1 7 3 1 8 6 2 9 6 8 10 8 9
다시 말하지만, rbind()는 동일한 열 이름을 공유하기 때문에 두 데이터 프레임을 성공적으로 바인딩할 수 있습니다.
추가 리소스
R에서 rbind를 사용하는 방법(예제 포함)
R에서 cbind를 사용하는 방법(예제 포함)
R의 데이터 프레임에 행을 추가하는 방법