使用plm函数创建面板数据时在class(x)中出错

时间:2019-01-08 18:09:23

标签: r plm

我正在尝试使用plm函数创建Panel数据,以便从我从Excel导入的平衡Panel数据中合并模型。

运行代码时,出现以下错误:

  

class(x)中的错误<-setdiff(class(x),“ pseries”):设置无效   矩阵的类,除非维度属性的长度为2(   0)

(Pdb) help clear
cl(ear) filename:lineno
cl(ear) [bpnumber [bpnumber...]]
With a space separated list of breakpoint numbers, clear
those breakpoints.  Without argument, clear all breaks (but
first ask confirmation).  With a filename:lineno argument,
clear all breaks at that line in that file.

Note that the argument is different from previous versions of
the debugger (in python distributions 1.5.1 and before) where
a linenumber was used instead of either filename:lineno or
breakpoint numbers.

(Pdb) clear 1
Deleted breakpoint 1
(Pdb) c

运行代码后,我应该获得我的数据的汇总ols回归的摘要统计信息。有人可以告诉我如何解决此问题吗?预先感谢。

2 个答案:

答案 0 :(得分:2)

第一名:

避免使用plm.data,而使用pdata.frame

pdata_all_met <- pdata.frame(all_met, index=c("id","time"))

如果plm.data没有给您弃用警告,请使用该软件包的较新版本。

第二名(并解决该问题):

如果使用data的{​​{1}}参数,请在公式中指定列名,而不是全局环境中的变量,即尝试以下操作:

plm

答案 1 :(得分:-1)

检查数据结构是否将回归中使用的变量声明为因素,可以通过键入:str(all_met)

如果是,则应将其声明为double或数字(不要使用as.numeric()函数,它可能会更改数据中的值)。

我个人已通过导入代码中的下一个规范更改了该内容:

data <- read_csv("C:/Users/Uness/Desktop/Mydata.csv", 
    col_types = cols(variable1 = col_double(), 
        variable2 = col_double()))
View(data)

其中variable1和variable2是我使用的变量的名称,请确保在复制代码时进行了更改;)