所以,我有一组数据,而我想要做的就是在结果曲线上找到所有局部最大值。我读了一个CSV文件,它在第一列中有x值,第二步中的y值很容易完成。
要查找最大值,我尝试使用findpeaks()
数据库中的pracma
函数。但是,每次我尝试运行它时,都会遇到同样的错误:
Error: is.vector(x, mode = "numeric") is not TRUE
所以,我首先尝试将其转换为矢量。仍有同样的问题,但is.vector(x, mode = "any")
现在返回true。我发现了一些其他的帮助主题(我再也找不到了,所以我无法分享它们,抱歉!),并决定尝试使用lapply
强制使用{{1}强制新向量中的每个条目}}。没有工作。查看as.numeric
,并提到?as.numeric
可能更适合。没有工作。现在我感到茫然,不知道该怎么做 - 当前的工作代码如下所示。
as.double
答案 0 :(得分:0)
尝试diffplot <- as.numeric(as.vector(plot[1:600, 2]))
。
问题是数据被读作字符或因素。上面的代码应该改变这一点。但是,您的代码存在多个问题。首先,plot
是用于绘图的基函数。使用这样的名称命名变量是不好的做法。
其次,diffplot
变量是一个向量(第二列的前600行),因此无需使用lapply
函数单独更改每个元素。