Articles of r

Como calcular eficientemente a distância entre pares de coordenadas usando data.table: =

Eu quero encontrar o método mais eficiente (mais rápido) para calcular as distâncias entre pares de coordenadas lat longas. Uma solução não tão eficiente foi apresentada (aqui) usando sapply e spDistsN1{sp} . Acredito que isso poderia ser feito muito mais rápido se alguém usasse spDistsN1{sp} dentro de data.table Com o operador := , mas não […]

Como descarregar um pacote sem reiniciar o R?

Eu gostaria de descarregar um pacote sem ter que reiniciar o R ​​(principalmente porque reiniciar R como eu experimento diferentes, pacotes conflitantes está ficando frustrante, mas concebivelmente isso poderia ser usado em um programa para usar uma function e depois outra – embora namespace referenciamento é provavelmente uma idéia melhor para esse uso). ?library não […]

Existe uma function R que aplica uma function a cada par de colunas?

Muitas vezes preciso aplicar uma function a cada par de colunas em um dataframe / matriz e retornar os resultados em uma matriz. Agora eu sempre escrevo um loop para fazer isso. Por exemplo, para fazer uma matriz contendo os valores p de correlações, escrevo: df <- data.frame(x=rnorm(100),y=rnorm(100),z=rnorm(100)) n <- ncol(df) foo <- matrix(0,n,n) for […]

Substituir caracteres usando o gsub, como criar uma function?

Estou tentando replace caracteres em um data.frame. Eu tenho uma solução para isso > df df var1 1 aabbcdefg 2 aabbcdefg > df$var1 df$var1 df$var1 df$var1 df$var1 df$var1 df var1 1 hhiijklmg 2 hhiijklmg > mas eu gostaria de evitar o uso de várias chamadas do gsub, seria muito melhor produzir uma function para fazer […]

ggplot legenda e enredo separados

Eu estou usando o gridpack para colocar meus charts que fiz com o ggplot2 : library(ggplot2) library(grid) Layout <- grid.layout(nrow = 4, ncol = 4, widths = unit(1, "null"), heights = unit(c(0.4, 0.8, 1.2, 1.2), c("null", "null", "null"))) grid.show.layout(Layout) plot1 = ggplot(diamonds, aes(clarity, fill = color)) + geom_bar() + facet_wrap(~cut, nrow = 1) print(plot1 + […]

ggplot2: alteração da ordem de exibição de uma variável de fator em um eixo

Quando uso geom_tile() com ggplot2 e escalas discretas, os labels estão em ordem crescente no eixo xe em ordem descendente no eixo y: #some sample data a <- runif(400) a <- matrix(a, ncol=20) colnames(a) <- letters[seq( from = 1, to = 20 )] rownames(a) <- letters[seq( from = 1, to = 20 )] a <- […]

Para loop sobre dygraph não funciona em R

Há algum comportamento estranho no dygraph . Ao usar um loop for para dygraph não recebo resultado. library(dygraphs) lungDeaths <- cbind(mdeaths, fdeaths) for(i in 1:2){ dygraph(lungDeaths[, i]) } Por outro lado, quando uso o lapply , obtenho o resultado esperado lapply(1:2, function(i) dygraph(lungDeaths[, i])) Eu realmente quero usar o loop for em R Markdown no […]

Por que é necessário o allow.cartesian quando você entra em data.tables com chaves duplicadas?

Eu estou tentando entender a lógica da pesquisa J () quando há chaves duplicadas em um data.table em R. Aqui está uma pequena experiência que tentei: library(data.table) options(stringsAsFactors = FALSE) x <- data.table(keyVar = c("a", "b", "c", "c"), value = c( 1, 2, 3, 4)) setkey(x, keyVar) y1 <- data.frame(name = c("d", "c", "a")) x[J(y1$name), […]

Selecionando várias colunas ou linhas ímpares ou pares para o dataframe

Existe uma maneira em R de selecionar várias linhas / colunas não consecutivas, ou seja, ímpares ou pares? Estou planejando as cargas para minha análise de componentes principais. Tenho 84 linhas de dados ordenadas como esta: x_1 y_1 x_2 ….. x_42 y_42 E no momento estou criando os dataframes para as figuras x e y […]

ggplot2 0.9.0 descarta automaticamente os níveis de fator não usados ​​da legenda da plotagem?

Eu recentemente atualizei para o ggplot2 0.9.0 da versão 0.8.9, e agora estou percebendo que as lendas do meu enredo só mostram os níveis de fatores usados ​​no enredo (omite os níveis não utilizados). Antes, includeia todos os níveis de fator na legenda. Estou executando o Windows 7 e R 2.15.0 (2.14.2 antes de hoje). […]