したがって、私はデータセットを持っています。私がしようとしているのは、結果として得られる曲線上のすべてのローカルマキシマを見つけることです。最初の列にx値があり、2番目に最初の手順でy値があるCSVファイルを読み込みました。ベクトルを数値モードに強制するR
最大値を見つけるために、pracma
データベースからfindpeaks()
関数を使用しようとしました。
Error: is.vector(x, mode = "numeric") is not TRUE
だから、私は最初だけで、ベクターにこれを変換してみました:しかし、私はそれを実行しようとしたたびに、私は同じエラーを得ました。それでも同じ問題が発生しましたが、is.vector(x, mode = "any")
が真を返すようになりました。私はいくつかの他のヘルプスレッドを見つけました(私はもはや見つけることができませんので、共有できません!)、そしてを使ってlapply
を使って新しいベクトルの各エントリを強制しようと決めました。うまくいきませんでした。 ?as.numeric
を見て、as.double
がより適していると述べました。うまくいきませんでした。現在、私は紛失しており、何をすべきか分からない - 現在の作業コードを以下に示します。
plot <- read_csv("AFGP60 UV-05-04-16.csv",
col_names = FALSE, na = "null", skip = 2,n_max = numrow)
diffplot <- c(plot[1:601,2])
diffplot <- lapply(diffplot,as.double)
findpeaks(diffplot)`
あなたの説明から、データが実際にどのように見えるかを知ることは不可能です。あなたのデータを表示するには、 'str()'や 'dput()'のようなツールを使います。 –
これはおそらく文字列として読み込まれ、CSVで引用された可能性があります。修正は 'read_csv(...、col_types)'を使うことです。@RomanLuštrikが尋ねたようにデータをダンプしてください。また、「as.numeric'が動作しませんでした」という*を教えてください。正確なエラー警告(データと同様に)を表示してください。 – smci
私はそのサイズと私の研究の一部であるという事実のためにデータを共有したくなかった。データそのものの記述に十分な情報を与えたいと思っていました。しかし、私は関数str()とdput()について知りませんでした.dput()はベクトルがリストに格納されていることを認識させましたので、単にdiffplot
keefles