【问题标题】:'Unknown column' in RR中的“未知列”
【发布时间】:2019-05-31 23:01:24
【问题描述】:

我正在进行一项经济研究,并使用 broom 包中的 melt & tidy 函数填充了一个包含回归系数的数据框。我的df:

    > head(LmModGDP, 10)
       Country            variable        term      estimate    std.error statistic      p.value
1  Netherlands   FDI_InFlow_MilUSD (Intercept)  5.354083e+02 5.974760e+01  8.961167 1.976417e-09
2  Netherlands   FDI_InFlow_MilUSD       value  2.400677e-03 1.409779e-03  1.702875 1.005189e-01
3  Netherlands  FDI_InFlow_percGDP (Intercept)  6.184273e+02 6.723554e+01  9.197923 1.173719e-09
4  Netherlands  FDI_InFlow_percGDP       value -1.261933e+00 1.008740e+01 -0.125100 9.014067e-01
5  Netherlands  FDI_InStock_MilUSD (Intercept)  3.110956e+02 2.719577e+01 11.439116 1.201802e-11
6  Netherlands  FDI_InStock_MilUSD       value  7.025298e-04 5.307147e-05 13.237429 4.620706e-13
7  Netherlands  FDI_OutFlow_MilUSD (Intercept)  5.106762e+02 5.939921e+01  8.597356 4.465840e-09
8  Netherlands  FDI_OutFlow_MilUSD       value  1.920313e-03 8.646908e-04  2.220808 3.528536e-02
9  Netherlands FDI_OutFlow_percGDP (Intercept)  2.593453e+02 5.334202e+01  4.861932 4.838082e-05
10 Netherlands FDI_OutFlow_percGDP       value  3.931491e+00 5.332541e-01  7.372641 7.896681e-08

在我使用任何方法(甚至简单地通过子集化或使用dplyr 包)过滤 df 之后:

LmModGDP[LmModGDP$variable == "FDI_InStock_MilUSD",]

LmModGDP %>%
  filter(variable == "FDI_InStock_MilUSD")

它返回所需的 df,但是当我将鼠标拖到 RStudio 查看器中的最后一列 (p.value) 上时,它告诉我它是“未知列”并且数据仍然正确。此外,当我在其上使用 strclass 函数时,它显示它是数字的,但在查看器中它显示了其他东西..

我想要的df:

    Country           variable        term     estimate    std.error statistic      p.value
5  Netherlands FDI_InStock_MilUSD (Intercept) 3.110956e+02 2.719577e+01 11.439116 1.201802e-11
6  Netherlands FDI_InStock_MilUSD       value 7.025298e-04 5.307147e-05 13.237429 4.620706e-13
19     Romania FDI_InStock_MilUSD (Intercept) 3.122229e+01 3.313134e+00  9.423796 7.188216e-10
20     Romania FDI_InStock_MilUSD       value 2.128223e-03 7.035679e-05 30.249006 8.588104e-22

当我尝试使用 kable 函数在降价报告中显示它时,p.value 列仅显示 0 个值...而不是实际值。

有人可以帮我吗?

!!起来!!

这是str 的输出:

Classes ‘grouped_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 28 obs. of  7 variables:
 $ Country  : chr  "Netherlands" "Netherlands" "Netherlands" "Netherlands" ...
 $ variable : Factor w/ 7 levels "FDI_InFlow_MilUSD",..: 1 1 2 2 3 3 4 4 5 5 ...
 $ term     : chr  "(Intercept)" "value" "(Intercept)" "value" ...
 $ estimate : num  535.4083 0.0024 618.4273 -1.2619 311.0956 ...
 $ std.error: num  59.7476 0.00141 67.23554 10.0874 27.19577 ...
 $ statistic: num  8.961 1.703 9.198 -0.125 11.439 ...
 $ p.value  : num  1.98e-09 1.01e-01 1.17e-09 9.01e-01 1.20e-11 ...
 - attr(*, "vars")= chr  "Country" "variable"
 - attr(*, "drop")= logi TRUE
 - attr(*, "indices")=List of 14
  ..$ : int  0 1
  ..$ : int  2 3
  ..$ : int  4 5
  ..$ : int  6 7
  ..$ : int  8 9
  ..$ : int  10 11
  ..$ : int  12 13
  ..$ : int  14 15
  ..$ : int  16 17
  ..$ : int  18 19
  ..$ : int  20 21
  ..$ : int  22 23
  ..$ : int  24 25
  ..$ : int  26 27
 - attr(*, "group_sizes")= int  2 2 2 2 2 2 2 2 2 2 ...
 - attr(*, "biggest_group_size")= int 2
 - attr(*, "labels")='data.frame':  14 obs. of  2 variables:
  ..$ Country : chr  "Netherlands" "Netherlands" "Netherlands" "Netherlands" ...
  ..$ variable: Factor w/ 7 levels "FDI_InFlow_MilUSD",..: 1 2 3 4 5 6 7 1 2 3 ...
  ..- attr(*, "vars")= chr  "Country" "variable"
  ..- attr(*, "drop")= logi TRUE

【问题讨论】:

  • 你能在新的会话中重现它吗?
  • 由于四舍五入,它也可能显示为零 - 您的 pvalue 非常小
  • @akrun 抱歉,我对所有术语都不太熟悉,你在新会话中复制它是什么意思?
  • 我的意思是如果你重新启动 Rstudio 并再次这样做
  • @user20650 如果是因为四舍五入,那么它应该打印至少几个数字..

标签: r dataframe filtering regression


【解决方案1】:

我还不能发表评论,这就是我在这里写答案的原因。

你能告诉我们 str(LmModGDP) 的输出吗?也许 df 是嵌套的?也许它不是纯 df 但具有特殊属性。您是否尝试过强制 LmModGDP

您是否尝试过强制 LmModGDP$p.value

您是否尝试过转换为 data.table 并查看应用过滤器后的行为是否有所不同?

更新1: 感谢您发布 str()。您的对象是“grouped_df”。您是否尝试过取消分组(LmModGDP)?

【讨论】:

  • 我将在接下来的几个小时内发布一个输出,以便回到我的电脑上。我已经尝试将其转换为 data.frame,甚至将列强制转换为数字,但仍然没有。我必须尝试转换为 data.table。 P.S LmModGDP 是一个小标题
  • 我想出了str 函数的输出。检查编辑。抱歉这么晚才回复
猜你喜欢
  • 2020-07-10
  • 2016-12-07
  • 1970-01-01
  • 2020-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
相关资源
最近更新 更多