Articles of r

Calculando sum cumulativa para cada linha

Eu estou tentando calcular a sum cumulativa para cada linha usando o seguinte código: df <- data.frame(count=1:10) for (loop in (1:nrow(df))) {df[loop,"acc_sum"] <- sum(df[1:loop,"count"])} Mas eu não gosto do loop explícito aqui, como posso modificá-lo?

R: conta ocorrências consecutivas de valores em uma única coluna

Desejo criar um número seqüencial dentro de cada execução de valores iguais, como um contador de ocorrências, que é reiniciado quando o valor na linha atual é diferente da linha anterior. Por favor, encontre um exemplo de input e saída esperada abaixo. dataset <- data.frame(input = c("a","b","b","a","a","c","a","a","a","a","b","c")) dataset$counter <- c(1,1,2,1,2,1,1,2,3,4,1,1) dataset # input counter # […]

Nenhuma binding visível para variável global Nota na verificação R CMD

Notei na verificação de um pacote que eu obtenho notas “nenhuma binding visível para variável global” quando eu uso funções como subset que usam nomes verbatim de elementos de lista como argumentos. Por exemplo, com um quadro de dados: foo <- data.frame (a = c (VERDADEIRO, FALSO, VERDADEIRO), b = 1: 3) Eu posso fazer […]

Selecione linhas equivalentes

Meu problema parece ser muito simples, mas não consigo resolvê-lo desde horas … Eu tenho uma matriz como esta: [,1] [,2] [1,] 1 2 [2,] 2 1 [3,] 2 1 [4,] 3 4 Eu quero selecionar as linhas que têm as mesmas informações, sem levar em conta a ordem da coluna. Por exemplo row1 (1; […]

usando os glifos “dingbat-like” do Unicode em charts R, em dispositivos e plataformas, especialmente PDF

Alguns de vocês podem ter visto meu post sobre este tópico, onde eu escrevi o seguinte código depois de querer ajudar um amigo a produzir círculos meio cheios como pontos em um gráfico: TestUnicode <- function(start="25a0", end="25ff", …) { nstart <- as.hexmode(start) nend <- as.hexmode(end) r <- nstart:nend s <- ceiling(sqrt(length(r))) par(pty="s") plot(c(-1,(s)), c(-1,(s)), type="n", […]

Criar nomes de grupos para valores consecutivos

Parece uma tarefa fácil, não consegue descobrir uma maneira mais simples. Eu tenho um vetor x abaixo e preciso criar nomes de grupos para valores consecutivos. Minha tentativa foi usar idéias melhores e melhores? # data x <- c(1,1,1,2,2,2,3,2,2,1,1) # make groups rep(paste0("Group_", 1:length(rle(x)$lengths)), rle(x)$lengths) # [1] "Group_1" "Group_1" "Group_1" "Group_2" "Group_2" "Group_2" "Group_3" "Group_4" […]

Ordem de barra empilhada inversa

Estou criando um gráfico de barras empilhadas usando o ggplot assim: plot_df <- df[!is.na(df$levels), ] ggplot(plot_df, aes(group)) + geom_bar(aes(fill = levels), position = "fill") O que me dá algo assim: Como faço para inverter a ordem das barras empilhadas, de modo que o nível 1 esteja na parte inferior e o nível 5 esteja na […]

data.table “key indices” ou “group counter”

Depois de criar uma chave em um data.table: set.seed(12345) DT <- data.table(x = sample(LETTERS[1:3], 10, replace = TRUE), y = sample(LETTERS[1:3], 10, replace = TRUE)) setkey(DT, x, y) DT # xy # [1,] AB # [2,] AB # [3,] BB # [4,] BB # [5,] CA # [6,] CA # [7,] CA # [8,] CA […]

Cadeia multibyte inválida em read.csv

Eu estou tentando importar um csv que está em japonês. Este código: url <- 'http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv' x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE) retorna o seguinte erro: Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : invalid multibyte string at ‘ΊOyёΓ،_񓙂̏󋵁@(TEw񍐋@փx[Xj’ Eu tentei alterar a codificação ( Encoding(url) <- 'UTF-8' e também para latin1) […]

Como alterar vários formatos de data na mesma coluna

O que eu tenho até agora é uma coluna de dataframe com datas em diferentes formatos de caracteres. Alguns aparecem no padrão %d.%m.%Y , alguns em %m/%d/%Y : data$initialDiagnose = as.character(data$initialDiagnose) data$initialDiagnose[1:10] [1] “14.01.2009” “9/22/2005” “4/21/2010” “28.01.2010” “09.01.2009” “3/28/2005” “04.01.2005” “04.01.2005” “9/17/2010” “03.01.2010” Eu quero eles como Date () em um formato, mas R se […]