R 尝试查找数据帧中字段的每日差异
我有这个R 尝试查找数据帧中字段的每日差异,r,R,我有这个 head(df2) Close Group 2007-01-03 17.625 S 2007-01-04 17.645 B 2007-01-05 17.570 B 2007-01-08 17.505 B 2007-01-09 17.430 B 2007-01-10 17.375 S 我试图找到“关闭”的每日变化 我试过这样做:dailychange出现错误消息是因为某些数据不是数字。diff()中只能使用数字数据。检查“
head(df2)
Close Group
2007-01-03 17.625 S
2007-01-04 17.645 B
2007-01-05 17.570 B
2007-01-08 17.505 B
2007-01-09 17.430 B
2007-01-10 17.375 S
我试图找到“关闭”的每日变化
我试过这样做:
dailychange出现错误消息是因为某些数据不是数字。diff()中只能使用数字数据。检查“关闭”列中的数据,以检查数据是否为数字。由于某些数据不是数字,因此会出现错误消息。diff()中只能使用数字数据。检查“关闭”列中的数据,以检查数据是否为数字。来自ts
的文档:
观测到的时间序列值的向量或矩阵。数据帧
将通过data.matrix强制转换为数字矩阵
但是,具有字符列的timeseries会将所有列转换为字符。在具有字符值的矩阵中可以看到相同的行为
将数据作为data.frame保存在中,或者在diff语句中使用as.numeric
dailychange <- diff(as.numeric(df2$Close))
dailychange
[1] 0.020 -0.075 -0.065 -0.075 -0.055
ts
文档中的dailychange:
观测到的时间序列值的向量或矩阵。数据帧
将通过data.matrix强制转换为数字矩阵
但是,具有字符列的timeseries会将所有列转换为字符。在具有字符值的矩阵中可以看到相同的行为
将数据作为data.frame保存在中,或者在diff语句中使用as.numeric
dailychange <- diff(as.numeric(df2$Close))
dailychange
[1] 0.020 -0.075 -0.065 -0.075 -0.055
dailychangediff(df2$Close)
对我来说效果很好。检查数据中的类ifdf$Close
为什么不共享str(df2)
的输出?如果要将其表示为时间序列,请使用+1和-1,而不是B和S,以便它保持数字。或者为B和S创建一个单独的时间序列。diff(df2$Close)
对我很有效。检查数据中的类ifdf$Close
为什么不共享str(df2)
的输出?如果要将其表示为时间序列,请使用+1和-1,而不是B和S,以便它保持数字。交替地为B和S创建单独的时间序列。