Как вы упомянули в комментарии, plm::pdata.frame
превращает ваше числовое значение в нечисловое. То, как вы используете pdata.frame
, делает это и превращает ваше число в фактор. Пожалуйста, прочтите документацию pdata.frame
. Интересующая вас переменная находится во 2-м столбце вашего фрейма данных. Если вы не укажете аргумент index
для pdata.frame
, он предполагает, что первые два столбца являются индексами, и делает то, что должен делать: превращает первые два столбца в факторы. Учитывая, что вы не хотите, чтобы эта переменная была индексом, используйте pdata.frame
следующим образом:
pdata.frame(xy_combine, index = c("country", "date"))
(На основе ваших данных и вашего сценария, предоставленного в комментариях к вопросу.)
Однако, учитывая ваши данные, cipstest
потерпит неудачу, так как у вас слишком мало единиц наблюдения в ваших (тестовых) данных (сообщение об ошибке на самом деле не информативно). В документе, описывающем тест (Pesaran (2007)) приведены табличные значения p для 10 человек (единицы наблюдения). В вашем наборе данных есть 2 человека.
Я привожу полный сценарий, который я использовал ниже (я разделил ваш сценарий на соответствующие части):
library(readxl) #library for reading excel files
library("plm")
#import data
test <- read_excel("C:/Users/xxx/Downloads/test.xlsx") # adjust to your path
#create country column with 60 obs each Austria and Belgium
country <- rep(c("Austria","Belgium"), each=60)
#stack xy columns into a single column
attach(test)
df1 <- data.frame(a=x, b=y)
xy <- data.frame(c(df1[,"a"],df1[,"b"]))
#create panel data
date <-test$date
xy_combine <- cbind(date, xy, country)
xy_panel <- pdata.frame(xy_combine, index = c("country", "date")) # specify index
lapply(xy_panel, class) # factor, numeric, factor
#rename column 2 in xy_panel1
colnames(xy_panel)[2] <- "xy_con"
#order data by country
country_order <- order(xy_panel$country)
xy_panel1<- xy_panel[country_order,]
lapply(xy_panel1, class) # factor, numeric, factor
cipstest(xy_panel1$xy_con,lag=2, type=c("none")) # errors. Likely to few individuals in data set.
person
Helix123
schedule
04.01.2021
lapply(bcc_panel3, class)
. - person Helix123   schedule 28.12.2020