Tag: r

在两年内生成一个月的最后一天的序列

我用lubridate,并认为这将是如此简单 ymd("2010-01-31")+months(0:23) 但看看得到了什么。 这一切都搞砸了! [1] "2010-01-31 UTC" "2010-03-03 UTC" "2010-03-31 UTC" "2010-05-01 UTC" "2010-05-31 UTC" "2010-07-01 UTC" "2010-07-31 UTC" "2010-08-31 UTC" "2010-10-01 UTC" [10] "2010-10-31 UTC" "2010-12-01 UTC" "2010-12-31 UTC" "2011-01-31 UTC" "2011-03-03 UTC" "2011-03-31 UTC" "2011-05-01 UTC" "2011-05-31 UTC" "2011-07-01 UTC" [19] "2011-07-31 UTC" "2011-08-31 UTC" "2011-10-01 UTC" "2011-10-31 UTC" "2011-12-01 UTC" "2011-12-31 UTC" […]

在数据框中按组计数唯一/不同的值

假设我有以下数据框: > myvec name order_no 1 Amy 12 2 Jack 14 3 Jack 16 4 Dave 11 5 Amy 12 6 Jack 16 7 Tom 19 8 Larry 22 9 Tom 19 10 Dave 11 11 Jack 17 12 Tom 20 13 Amy 23 14 Jack 16 我想计算每个name的不同order_no值的数量。 它应该产生以下结果: name number_of_distinct_orders Amy 2 Jack 3 […]

如何为列中的每组相同值分配唯一的ID号

我有一个数据框的列数。 我想创build一个名为“id”的新列,它给“sample”列中的每组相同的值赋予一个唯一的id号。 示例数据: # dput(df) df <- structure(list(index = 1:30, val = c(14L, 22L, 1L, 25L, 3L, 34L, 35L, 36L, 24L, 35L, 33L, 31L, 30L, 30L, 29L, 28L, 26L, 12L, 41L, 36L, 32L, 37L, 56L, 34L, 23L, 24L, 28L, 22L, 10L, 19L), sample = c(5L, 6L, 6L, 7L, 7L, 7L, 8L, 9L, 10L, 11L, 11L, […]

ggplot折线图中的多行x轴标签

编辑:这个问题已被标记为重复,但在这里的答复已经尝试,并没有工作,因为有问题的情况是一个折线图,而不是条形图。 应用这些方法会产生一个5行的图表,每年1个 – 没有用处。 有人投票标记为重复实际上尝试这个问题提供的样本数据集的方法? 如果是这样,请发帖作为答案。 原问题: Excel透视图中有一个允许多级分类坐标轴的function。我试图find一种方法来使用ggplot (或R中的任何其他绘图软件包)执行相同的操作。 考虑以下数据集: set.seed(1) df=data.frame(year=rep(2009:2013,each=4), quarter=rep(c("Q1","Q2","Q3","Q4"),5), sales=40:59+rnorm(20,sd=5)) 如果将其导入到Excel数据透视表中,则可以直接创build以下图表: 请注意x轴有两个级别,分别为一个季度和一个分组variables,一年。 ggplot可以使用多级轴吗? 注意:有一个方面可以产生类似的黑客攻击,但这不是我正在寻找的。 library(ggplot2) ggplot(df) + geom_line(aes(x=quarter,y=sales,group=year))+ facet_grid(.~year,scales="free")

R堆积百分比条形图与二进制因子和标签的百分比(与ggplot)

我想生成一个看起来像这样的graphics: 我的原始数据集看起来像这样: > bb[sample(nrow(bb), 20), ] IMG QUANT FIX 25663 1 1 0 7936 2 2 0 23586 3 2 0 23017 2 2 1 31363 1 3 1 7886 2 2 0 23819 3 3 1 29838 2 2 1 8169 2 3 1 9870 2 3 0 31440 2 1 0 35564 3 […]

我怎样才能把多重variables的重复测量扩散到广泛的格式?

我试图采取长格式的列,并将其传播到如下所示的宽格式。 我想用tidyr解决这个我正在投资的数据处理工具,但为了使这个答案更普遍,请提供其他解决scheme。 这是我有: library(dplyr); library(tidyr) set.seed(10) dat <- data_frame( Person = rep(c("greg", "sally", "sue"), each=2), Time = rep(c("Pre", "Post"), 3), Score1 = round(rnorm(6, mean = 80, sd=4), 0), Score2 = round(jitter(Score1, 15), 0), Score3 = 5 + (Score1 + Score2)/2 ) ## Person Time Score1 Score2 Score3 ## 1 greg Pre 80 78 84.0 ## […]

创build堆叠的barplot,其中每个堆栈被缩放到总和为100%

我有这样的data.frame: df <- read.csv(text = "ONE,TWO,THREE 23,234,324 34,534,12 56,324,124 34,234,124 123,534,654") 我想产生一个百分比条形图,看起来像这样(用LibreOffice Calc制作): 因此,酒吧应该标准化,所有的堆栈有相同的高度和总和为100%。 到目前为止,我所能得到的是一个堆叠的barplot(不是百分比),使用: barplot(as.matrix(df)) 任何帮助?

ggplot2:sorting一个情节

我有一个data.frame,从最高到最低sorting。 例如: x <- structure(list(variable = structure(c(10L, 6L, 3L, 4L, 2L, 8L, 9L, 5L, 1L, 7L), .Label = c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"), class = c("ordered", "factor")), value = c(0.990683229813665, 0.975155279503106, 0.928571428571429, 0.807453416149068, 0.717391304347826, 0.388198757763975, 0.357142857142857, 0.201863354037267, 0.173913043478261, 0.0496894409937888)), .Names = c("variable", "value"), row.names = c(10L, 6L, 3L, 4L, 2L, […]

R包和依赖项的脱机安装

假设我需要在没有互联网连接的(Linux)机器上安装一些软件包。 假设我下载了一个cran的副本,并将其刻录到一个DVD,并将其带到离线位置: wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz 我甚至可以添加一个PACKAGES文件,其中包含所有源代码包及其依赖关系的概述: library(tools) write_PACKAGES() 我怎样才能使用这个离线安装一个源程序包,以解决和从本地文件安装依赖关系? 例如,有人想安装包ggplot2,它具有相当深的依赖性结构。 假设ggplot2的源代码包及其所有依赖关系在当前工作目录中作为源包提供。 如果我做: install.packages("ggplot2_0.9.1.tar.gz", repos=NULL) 这会导致错误,因为依赖关系根本没有解决。 或者: install.packages(list.files(pattern="*.tar.gz"), repos=NULL) 但是,这也忽略了依赖结构,并尝试按字母顺序安装包,这也将失败。 我看着available.packages和contrib.url但我找不到一个从本地文件安装源包的例子,包括它的依赖关系。

将geom_text定位在闪避的barplot上

我试图让这个标题不言自明,但是数据优先: dtf <- structure(list(variable = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L), .Label = c("vma", "vla", "ia", "fma", "fla"), class = "factor"), ustanova = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("srednja škola", "fakultet"), class = "factor"), `(all)` = c(42.9542857142857, 38.7803203661327, 37.8996138996139, 33.7672811059908, 29.591439688716, 26.1890660592255, 27.9557692307692, 23.9426605504587, […]