Extraia com número da função IC2

Aug 31 2020

Estou tentando extrair um número da função calcSConc (pacote IC2). Posso extrair o número que preciso separadamente em duas etapas:

#CODE
library(IC2)
library(dplyr)

DATA_REFORM<-rnorm(1000, 3, .25)
DATA_REFORM1<-rnorm(5000, 6, .50)

dn_0<-calcSConc(DATA_REFORM,DATA_REFORM1)
dn_1<-data.frame(dn_0[[1]])
dn_1<-round(dn_1,6)
dn_1

O resultado dessas funções é o número abaixo:

         index parameter
SConc 0.000115         2

Portanto, minha intenção é colocar apenas este número 0,000115 no quadro de dados com o código abaixo:

INEQ_TOTAL_INCOME_OUTPUT<-data.frame(
  "Concentration coefficient of taxes with respect to pre-tax"= round(IC2::calcSConc(DATA_REFORM,DATA_REFORM1),6)
  check.names = FALSE
)

Então, alguém pode me ajudar a corrigir esse código e obter o resultado 0,000115, mas em quadro de dados?

Respostas

1 akrun Aug 31 2020 at 02:04

Se verificarmos o str, é um aninhadolist

str(dn_0)
#List of 2
# $ ineq:List of 2 # ..$ index    : Named num -0.00054
#  .. ..- attr(*, "names")= chr "SConc"
#  ..$ parameter: Named num 2 # .. ..- attr(*, "names")= chr "param" # $ nas :List of 4
#  ..$ xNA : num 0 # ..$ yNA    : num 0
#  ..$ wNA : NULL # ..$ totalNA: int -4000

Portanto, poderíamos extrair diretamente esses componentes com [[ou $. Aqui, podemos fazer o data.framediretamente no componente 'ineq' extraído

d1 <- transform(data.frame(IC2::calcSConc(DATA_REFORM, 
          DATA_REFORM1)$ineq), index = round(index, 6))

e renomear a primeira coluna

names(d1)[1] <-  "Concentration coefficient of taxes with respect to pre-tax"
d1
#      Concentration coefficient of taxes with respect to pre-tax parameter
#SConc                                                   -0.00054         2
1 RonakShah Aug 31 2020 at 08:09

Você pode extrair apenas a indexparte da saída:

data.frame("Concentration coefficient of taxes with respect to pre-tax" = 
           round(IC2::calcSConc(DATA_REFORM,DATA_REFORM1)[[1]]$index,6), 
           check.names = FALSE)

#      Concentration coefficient of taxes with respect to pre-tax
#SConc                                                  -0.000252