R のエラーを修正する方法: 名前が以前の名前と一致しない
R で発生する可能性のある一般的なエラーは次のとおりです。
Error in match.names(clabs, names(xi)): names do not match previous names
このエラーは、 rbind()関数を使用して 2 つのデータ フレームをバインドしようとしたが、2 つのデータ フレームの列名が一致しない場合に発生します。
このチュートリアルでは、このエラーを解決するために使用できる正確な手順を共有します。
例: 「名前が前の名前と一致しない」を修正する方法
R に次の 2 つのデータ フレームがあるとします。
#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()関数を使用してこれら 2 つのデータ フレームをバインドしようとすると、エラーが発生します。
#attempt to row bind the two data frames
rbind(df1, df2)
Error in match.names(clabs, names(xi)):
names do not match previous names
このエラーは、2 つのデータ フレームの列名が一致しないために発生します。
最初のデータ フレームには次の列名があります。
- var1
- var2
2 番目のデータ フレームには次の列名が含まれています。
- var3
- var4
次のコードを使用して、2 つのデータ フレーム間で列名が同じかどうかを確認することもできます。
#check if column names are identical between two data frames
identical(names(df1), names(df2))
[1] FALSE
列名が同じではないことがわかります。
このエラーを修正するには、2 番目のデータ フレームの列名を最初のデータ フレームの列名と一致するように手動で変更します。
#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() が2 つのデータ フレームを正常にリンクしたことがわかります。
このエラーを修正するもう 1 つの方法は、 names()関数を使用して、最初のデータ フレームから 2 番目のデータ フレームに列名を自動的に割り当てることです。
#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() は2 つのデータ フレームを正常にバインドできます。これは、これらのデータ フレームが同じ列名を共有しているためです。
追加リソース
R で rbind を使用する方法 (例あり)
R で cbind を使用する方法 (例あり)
R でデータ フレームに行を追加する方法