修正方法: 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 があります

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です