修正方法: strsplit(unitspec, ” “) のエラー: 文字のない引数
R で発生する可能性のあるエラーは次のとおりです。
Error in strsplit(df$my_column, split = "1"): non-character argument
このエラーは通常、操作しているオブジェクトが文字列ではない場合に、R でstrsplit()関数を使用して文字列を分割しようとしたときに発生します。
このチュートリアルでは、このエラーを修正する方法を正確に説明します。
エラーを再現する方法
R に次のデータ フレームがあるとします。
#create data frame df <- data. frame (team=c('A', 'B', 'C'), dots=c(91910, 14015, 120215)) #view data frame df team points 1 A 91910 2 B 14015 3 C 120215
ここで、 strsplit()関数を使用して、数値 1 が表示される場所に基づいて「points」列の値を分割しようとするとします。
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
変数「points」が文字ではないため、エラーが発生します。
これは、この変数のクラスをチェックすることで確認できます。
#display class of "points" variable
class(df$points)
[1] "digital"
この変数には数値クラスがあることがわかります。
エラーを修正する方法
このエラーを修正する方法は、strsplit()関数を使用する前に、 as.character()を使用して「points」変数を文字に変換することです。
#split values in points column based on where 1 appears
strsplit(as. character (df$points), split="1")
[[1]]
[1990"
[[2]]
[1] "" "40" "5"
[[3]]
[1] "" "202" "5"
今回は、最初にas.character()関数を使用して「ポイント」を文字に変換したため、「ポイント」列の各値を正常に分割できました。
追加リソース
次のチュートリアルでは、R の他の一般的なエラーを解決する方法について説明します。
R での修正方法: 名前が以前の名前と一致しない
R での修正方法: 列名よりも多くの列
R で修復する方法: 置換には X 行があり、データには Y があります