Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Mestranda do Departamento de Ecologia do IB-USP, sob orientação da Vânia Pivello.
Espaço que contém meus exercícios resolvidos.
O Imposto de Renda (IR) é uma taxa na qual todo contribuinte (pessoa física ou jurídica) deve pagar uma determinada porcentagem de sua renda média anual para o governo federal. O cálculo do IR tem como base uma tabela de alíquotas e o contribuinte pode optar por pagar a taxa anualmente, no momento da declaração do IR, ou mensalmente, via carnê-leão.
O objetivo da função LION é fornecer o valor de IR de pessoa física que deverá ser pago à Receita Federal.
O usuário fornecerá o valor de sua renda média anual e a função fará o calculo com base na tabela vigente. A função retornará então o valor a ser pago. O usuário poderá explicitar como argumento a natureza da fonte de renda, que pode ou não ser isenta de imposto, alterando o resultado final.
A musicoterapia utiliza a música e seus elementos a fim de elevar a qualidade de vida através de prevenção, reabilitação ou tratamento e inúmeros estudos demostram seu efeito positivo sobre o bem estar.
O objetivo da função MUSIC é fornecer opções de músicas e discos ao usuário em resposta ao seu estado de espírito atual (input: triste, ansioso, com dor, …), sempre almejando um estado de paz e equilíbrio (default). Uma pesquisa sobre o efeito de gêneros de musica será feita e associada à pesquisas que demostram seu efeito nas pessoas. Um dataframe será criado e será a base de dados da função. O usuário poderá listar mais de um sentimento e então a função cruzará os dados no dataframe e retornará a opção mais apropriada.
Oi Pu!
A proposta A está legal, mas talvez seja um pouco simples. E se você incluísse as opções das formas de pagamento, calculando o quanto a pessoa pagaria de juros e tudo mais? Ou você poderia incluir dependentes como um argumento, e calcular as deduções, por exemplo.
A ideia da proposta B é boa! Mas acho que você vai ter muito mais trabalho para gerar a base de dados do que para a função propriamente dita, então sugiro seguir com a A.
—- Débora
Sim, vou incluir a dedução por dependente como um argumento e pensar em outros jeitos de tornar a função mais complexa!
Em relação as formas de pagamento, de fato, o contribuinte pode pagar em até 8 quotas, sendo que a partir 3a cota passa a incidir 1% + taxa selic, ajustada mensalmente. Isso significa que eu não vou ter o valor da taxa selic para gerar o valor correto dos juros! A princípio não vejo como trabalhar essa informação na função, mas estou aberta a sugestões!
Obrigada!
### FUNCAO LION ### # criando a funcao com 9 argumentos: renda é o input de renda anual; saude, prev e escola sao deducoes anuais relativas a dependentes, plano de saude, previdencia e escola.; faixas e aliquotas sao os vetores de faixas de renda e aliquotas, contemplados pela tabela do IR divulgada pela Receita Federal de acordo com o ano-calendario vigente; pordep eh o valor a ser deduzido por dependente e lim.escola eh o valor limite para deducao com instrucao escolar. lion <- function (renda, dep = 0, saude = 0, prev = 0, escola = 0, faixas=c(22418.64, 33598.32, 44798.28, 55976.16), aliquotas=c(0.075, 0.15, 0.225, 0.275), pordep = 2253.56, lim.escola = 3527.74){ # Primeiro passo: estabelecer o calculo da Base de Calculo (base), que será o ponto de partida para o calculo do IR, e estabelecer as condicionantes: ## dep eh o numero de dependentes e deve ser um numero inteiro. Para me assegurar deste input fazemos: if(dep - (floor(dep)) != 0) { stop ("Quantos dependentes voce possui? Este valor deve ser um numero inteiro!") } ## se o contribuinte informar renda negativa retorna um erro. if(renda < 0) { stop ("O valor de renda nao pode ser negativo. Consulte seu contador") } ## ha deducao de "pordep" anual por dependente valordep <- (pordep*dep) ## O limite dedutível dos gastos com despesas de instrução em 2014 eh de 3527.74. Acima deste valor considera-se esse valor ("lim.escola"). if(escola > lim.escola) { warning ("O limite dedutivel dos gastos com despesas de instrução foi excedido."); escola = lim.escola } ## Se as deducoes forem maiores que a renda o contribuinte certamente tem dividas acumuladas. if ((valordep + saude + prev + escola) > renda ) { return ("Opa, suas deducoes sao maiores que sua renda?? Considere falar com um consultor financeiro, pois voce provavelmente tem dividas") } ## o IR sera calculado sobre a base de calculo ('base') que é obtida pela subtracao entre renda e todas as deducoes base <- renda - (valordep + saude + prev + escola) ## se a base estiver dentro da primeira faixa ele esta isento. if(base > 0 & base < faixas[1] | base==faixas[1]) { warning ("Voce esta isento!"); return(0) } ## se a base for negativa o contribuinte certamente tem dividas acumuladas. if (base < 0 ) { return ("Opa, suas deducoes sao maiores que sua renda?? Considere falar com um consultor financeiro, pois voce provavelmente tem dividas") } # Terceiro passo: inserindo a base na respectiva faixa. A funcao for vai correr dentro do vetor de faixas. Quando o valor de base for maior que o valor maximo de uma das faixas (faixas[i] < base) gravaremos a posição i. O valor num_aliquota (correspondente a posicao dentro do vetor de aliquotas) será i. Se o valor da base for menor que o valor da faixa[1] entao num_aliquota = 0. num_aliquota = 0 for (i in 1:length(faixas)){ if (faixas[i] < base) { num_aliquota = i } } # Quarto passo: calculando o IR. Calcula-se a diferença entre a porcentagem cobrada sobre a base e entre a porcentagem que incide apenas sobre as diferenças (ver no help a estrutura generica do calculo de IR progressivo). Se o valor aliquota for diferente de 1, a funcao for vai correr dentro do vetor de aliquotas, sendo que a soma irá acabar no "num_aliquota-1". IR <- 0 if (num_aliquota!=1){ for (i in 1:(num_aliquota-1)) { IR <- IR + aliquotas[i]*(faixas[i+1] - faixas[i]) } } IR <- IR + aliquotas[num_aliquota ]*(base - faixas[num_aliquota]) return(IR) }
lion packege: nenhum R Documentation Seleção de dados. Cáculo do valor do Imposto de Renda. Description: LION eh uma funcao que calcula o valor a ser pago ao Imposto de Renda (IR) por pessoas fisicas nao autonomas com desconto completo, ou seja, cuja base de calculo é a diferenca entre o ganho total anual e as deducoes diversas, a partir do exercício de 2015, ano-calendário de 2014. Usage: lion (renda, dep = 0, saude = 0, prev = 0, escola = 0, faixas=c(22418.64, 33598.32, 44798.28, 55976.16), aliquotas=c(0.075, 0.15, 0.225, 0.275), pordep = 2253.56, lim.escola = 3527.74) Arguments: renda Numerico. Renda anual do contribuinte. dep Numerico. Numero de dependentes do contribuinte. Este valor deve ser um número inteiro não negativo. saude Numerico. Valor anual pago pelo contribuinte em plano de saude. prev Numerico. Valor anual pago pelo contribuinte em previdencia oficial. escola Numerico. Valor anual pago com escola pelo numero de filhos. faixas Vetor numerico. As faixas indicam a base de calculo de referencia para calculo do IR. Sujeito a alteracao em funcao do ano-calendario vigente. aliquotas Vetor numerico. As aliquotas indicam a porcentagem de referencia para calculo do IR. Sujeito a alteracao em funcao do ano-calendario vigente. pordep Numerico. Valor a ser deduzido por dependente. Sujeito a alteracao em funcao do ano-calendario vigente. lim.escola Numerico. Valor limite dedutível dos gastos com despesas de instrução. Sujeito a alteracao em funcao do ano-calendario vigente. Details: Uma das maneiras de calcular o valor do Imposto de Renda anual no Brasil é a partir de uma base de calculo ("base"), obtida a partir da diferença entre renda anual e deduções diversas. A funcao LION considera como deducoes o numero de dependentes (para cada um há desconto de "pordep") e o valor anual pago pelo contribuinte em plano de saude, escola e previdência. A funcao LION retorna o valor a ser pago no caso do desconto completo, conhecido tambem como imposto progressivo, no qual calcula-se a diferença entre a porcentagem cobrada sobre a base e aquelas que deveriam incidir apenas sobre as diferenças. Considerando vetores de faixas e aliquotas fornecidos pela Receita Federal do Brasil, o calculo é feito a partir de uma estrutura genérica: IR = 0 x faixas1 + aliquotas1 x (faixas2 - faixas1) + aliquotas2 x (faixas3 - faixas2) + aliquotas3 x (faixas4 - faixas3) + aliquotas4 x (base - faixas4) Considerando as variações que ocorrem nas variáveis do ano-calendario vigente, esta funcao foi planejada para facilitar essa alteração ano a ano, de modo que LION precisa apenas de pequenas alterações nos defaults de seus argumentos para se adaptar a mudanças. Values: LION retorna o valor numerico do IR a ser pago pelo contribuinte no ano-calendario vigente. Author: Paula Zaterka Giroldo paulapontogiroldo@gmail.com References: Tabela Progressiva para o cálculo anual do Imposto sobre a Renda da Pessoa Física. http://www.receita.fazenda.gov.br/aliquotas/TabProgressiva2012a2015.htm MP 644/2014, medida provisoria que altera os valores da tabela do imposto sobre a renda da pessoa física no ano-calendario de 2015. http://www.planalto.gov.br/ccivil_03/_Ato2011-2014/2014/Mpv/mpv644.htm Examples # Exemplos genericos lion (renda = 12000) lion (renda = 50000) lion (renda = 50000, 0, 0, 0, 5000) lion (renda = 100000, 2, 8000) # Mudanças de ano a ano: IR a partir do exercício de 2014, ano-calendário de 2013. lion (1000, 0, 0, 0, 3300, faixas=c(20529.36, 30766.92, 41023.08, 51259.08), aliquotas=c(0.075, 0.15, 0.225, 0.275), pordep = 2156.52, lim.escola = 3230.46)