【问题标题】:Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ‘"false.nearest"’ to a data.frameas.data.frame.default(x[[i]], optional = TRUE) 中的错误:无法将“false.nearest”类强制转换为 data.frame
【发布时间】:2020-04-20 17:24:58
【问题描述】:

RtseriesChaos的函数false.nearest实现了伪近邻的方法,帮助确定时间序列的最优嵌入维度series

library(tseriesChaos)
fb <- false.nearest(series, m=20, d=3, t=220, eps=1, rt=3)

这种情况下的结果是

                   m1           m2           m3           m4           m5
fraction 7.944049e-01 6.918705e-01 6.174054e-01 5.591561e-01 5.405405e-01
total    1.696928e+06 5.091560e+05 1.569860e+05 5.128800e+04 1.753800e+04
                  m6           m7           m8           m9          m10
fraction 5.282105e-01 5.005336e-01 5.016949e-01 5.339806e-01 4.516129e-01
total    5.778000e+03 1.874000e+03 5.900000e+02 2.060000e+02 6.200000e+01
                  m11          m12          m13          m14          m15
fraction 1.818182e-01 1.428571e-01 2.500000e-01 0.000000e+00             
total    2.200000e+01 1.400000e+01 8.000000e+00 2.000000e+00 0.000000e+00
                  m16          m17          m18          m19          m20
fraction                                                                 
total    0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00

我想获得一个 data.frame,其中第一列包含虚假邻居的分数,第二列包含每个指定嵌入维度(行)的邻居总数。

我尝试使用以下方法获得此结果:

df=data.frame(text=names(fb), class=fb, row.names=NULL)

但这返回了以下错误:

Error in as.data.frame.default(x[[i]], optional = TRUE) :   cannot coerce class ‘"false.nearest"’ to a data.frame

【问题讨论】:

    标签: r arrays dataframe


    【解决方案1】:

    你在这里处理一个数组对象。诀窍是使用as.data.frame.table

    fb %>% as.data.frame.table %>% 
      pivot_wider(id_cols = Var2, names_from = Var1, values_from = Freq) %>%
      as.data.frame()
    
       Var2     fraction   total
    1    m1 8.264617e-01 2744386
    2    m2 4.784931e-01  519368
    3    m3 1.590979e-01  266138
    4    m4 4.327443e-03  177472
    5    m5 2.278451e-03  133424
    6    m6 2.217003e-03  106450
    7    m7 1.990275e-03   88430
    8    m8 1.772487e-03   75600
    9    m9 1.387758e-03   66294
    10  m10 1.282571e-03   59256
    11  m11 1.158272e-03   53528
    12  m12 1.071900e-03   48512
    13  m13 7.661799e-04   44376
    14  m14 6.919731e-04   40464
    15  m15 2.698473e-04   37058
    16  m16 1.768138e-04   33934
    17  m17 1.937859e-04   30962
    18  m18 7.007217e-05   28542
    19  m19 0.000000e+00   26238
    20  m20 0.000000e+00   24110
    
    

    我使用的数据(series 不可用):

    library(tseriesChaos)
    fb <- false.nearest(rossler.ts, m=20, d=3, t=220, eps=1, rt=3)
    

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 2017-07-09
      相关资源
      最近更新 更多