2017-11-05 3 views
0

"lagged ..."の後に "is.data.frame(df)is not true"エラーが発生しました。どんな助けもありがとう! `{R、エコー= TRUE}表記仕様のデータをサブセットしようdplyrと "is.data.frame(df)が真ではありません"エラー

df1 <- read.dta("~/Downloads/doesoil clean.dta") 
df1 <- as.data.frame(df1) 

str(df1) 


``` 

```{r, echo=TRUE} 

## Create lagged outcome variable for policy 
df1 <- arrange(data, cty_name, year) 
df1 <- group_by(data, cty_name) %>% 
    mutate(
      oil_L1 = lag(oil, 1), 
       regime1_L1 = lag(regime1, 1) ,  
       islam_L1 = lag(islam, 1) ,  
       metal_L1 = lag(metal, 1) , 
       log135_L1 = lag(log135, 1) , 

      ) 

df1$log_oil_L1<-log(df1$oil_L1+.001) 

df1<-dplyr::select(df1, 
     cty_name, 
     year, 
     regime1,# regime type , 1=Democracy 
     regime1_L1, ## Lagged regime type 
     oil_L1,## oil exports as percentage of GDP (lagged) 
     log_oil_L1,## Logged oil exports (lagged) 
     islam_L1,## percent islam (lagged) 
     metal_L1,## mineral exports as percentage of GDP (lagged) 
     mideast,## dummy if country is in the middle east 
     log135,## Logged per capita income 
     log135_L1) ## Logged per capita income (lagged) 

df1$year<-as.numeric(df1$year) 
``` 

、それを起点として教授により提供されたが、私はデバッグの問題を抱えています。

+2

'df1'をソート/整列しようとしているのなら、なぜ' data'を参照していますか?たぶん 'arrange(df1、cty_name、year)'がうまくいくでしょう。 – r2evans

答えて

0

私たちと共有したコードで定義されていない変数 "data"を参照しています。コメントでr2evansが述べたように、名前df1に割り当てたdata.frameを使用すると、問題が解決するはずです。

関連する問題