[解決済み] Rのエラーを理解しようとしている。FUN(X[[i]], ...) のエラー: すべての数値変数を持つデータフレームでのみ定義されています。
2022-02-02 12:30:57
質問
このエラーメッセージとトレースバックが表示されるのですが。
Error in FUN(X[[i]], ...) :
only defined on a data frame with all numeric variables
5 stop("only defined on a data frame with all numeric variables")
4 FUN(X[[i]], ...)
3 lapply(args, function(x) {
x <- as.matrix(x)
if (!is.numeric(x) && !is.complex(x))
stop("only defined on a data frame with all numeric variables") ...
2 Summary.data.frame(structure(list(Date = structure(c(279L, 285L,
291L, 297L, 303L, 315L, 321L, 327L, 333L, 339L, 345L, 357L, 363L,
369L, 375L, 387L, 393L, 399L, 405L, 417L, 423L, 429L, 435L, 441L,
447L, 453L, 477L, 501L, 555L, 561L, 567L, 573L, 579L, 585L, 591L, ...
1 corr("specdata")
で、調べたところ、私のデータセットに非数値データがあるということのようです。 私が使っているデータセットはCourseraのコースのもので、もしそうなら、他の人も私と同じ問題を抱えていると思うのですが、どの掲示板やオンラインでも同様の問題についての言及はないようです。 私の唯一の推測は、以下の私の関数コードの結果であるということです。
corr <- function(directory, threshold = 0) {
vect1 <- numeric()
files_list <- list.files(directory, full.names = TRUE)
for (i in 1:332) {
data <- read.csv(files_list[i])
good <- complete.cases(data)
complete_data <- data[good,]
sulfate <- complete_data[,2]
nitrate <- complete_data[,3]
if (sum(complete_data) >= threshold) {
b <- cor(sulfate,nitrate)
vect1 <- rbind(b)
}
else vect1 <- (numeric())
}
return(vect1)
}
エラーメッセージとトレースバックから、硫酸塩と硝酸塩のカラムで相関を実行しているときにエラーが発生しているのだと思います。 ディレクトリ内の最初のファイルに対してコードを実行したときは、エラーメッセージもなく、正常に実行されました。このエラーが発生する理由と修正方法について、何かお手伝いや洞察があれば助かります。
データセットが数値になるように強制してみました。
complete_data <- as.numeric(data[good,])
が、別のエラーメッセージが返ってきます "エラー。(list) object cannot be coerced to type 'double'"
どうすればいいですか?
おそらく、データフレーム全体を合計しようとするのではなく、良いデータの行数をカウントする必要があるのでしょう。
if (nrow(complete_data) >= threshold) {
b <- cor(sulfate,nitrate)
vect1 <- rbind(b)
}
関連
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】library(ggplot2)でエラー:'ggplot2'というパッケージは存在しません。
-
[解決済み】lis[[i]]のエラー:1つ未満の要素を選択しようとした場合
-
[解決済み】match.fun(FUN)でのエラーについて)
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み】ggplot2でのプロット:「Error: カテゴリ軸のY軸に "Discrete value supplied to continuous scale "と表示される。
-
[解決済み】行列式で「数値/複雑な行列/ベクトルの引数を必要とする」というエラーが発生する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み】scale_color_manual()が動作しない件
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】bstTreeの予測値の混乱行列、エラー:'The data must contain some levels that overlap reference'.
-
[解決済み] [Solved] read.csv warning 'EOF within quoted string' prevents complete reading of file.
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】Rでmax.printの制限値を増やす方法
-
[解決済み】dplyr: "Error in n(): 関数は直接呼ばれるべきではありません"