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
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?