Tag: r

在vector或列中find第二个(第三…)最高/最低值的最快方法

R提供了最大值和最小值,但是除了sorting整个向量和从这个向量中select值x之外,我没有看到一个非常快速的方法来查找另一个值。 有更快的方法来获得第二高的价值(例如)? 谢谢

修剪一个巨大的(3.5 GB)CSV文件读入R

所以我有一个数据文件(分号分隔),有很多细节和不完整的行(导致访问和SQL扼杀)。 它是县级数据集,分为40个年份的细分市场,细分市场和次细分市场(总共约200个因素)。 简而言之,这是巨大的,如果我试图简单地阅读它,它就不会适应记忆。 所以我的问题是,因为我希望所有的县,但只有一年(也就是最高水平的段…最终导致约10万行),什么是最好的方法来获得这汇总到R? 目前,我正在试图用Python剔除不相关的年份,一次读取和操作一行,以避免文件大小的限制,但我更喜欢R-only解决scheme(CRAN包OK)。 有没有一种类似的方式来在R中一次读入一个文件? 任何想法将不胜感激。 更新: 约束 需要使用我的机器,所以没有EC2实例 作为R只有尽可能。 在这种情况下,速度和资源是不是担心…提供我的机器不爆炸… 如下所示,数据包含混合types,我需要稍后进行操作 数据 数据是3.5GB,大约有850万行和17列 几千行(〜2K)是畸形的,只有一列而不是17 这些都是不重要的,可以放弃 我只需要大约100,000行(见下文) 数据示例: County; State; Year; Quarter; Segment; Sub-Segment; Sub-Sub-Segment; GDP; … Ada County;NC;2009;4;FIRE;Financial;Banks;80.1; … Ada County;NC;2010;1;FIRE;Financial;Banks;82.5; … NC [Malformed row] [8.5 Mill rows] 我想砍掉一些专栏,从40年(2009 – 2010年,从1980 – 2020年)中挑选出两个,这样数据就可以符合R: County; State; Year; Quarter; Segment; GDP; … Ada County;NC;2009;4;FIRE;80.1; … […]

在ggplot2中有边缘直方图的散点图

有没有办法用边缘直方图创build散点图,就像在ggplot2中的样例ggplot2 ? 在Matlab中,它是scatterhist()函数,也存在R的等价物。 但是,我没有看到它的ggplot2。 我开始尝试创build单个graphics,但不知道如何正确安排它们。 require(ggplot2) x<-rnorm(300) y<-rt(300,df=2) xy<-data.frame(x,y) xhist <- qplot(x, geom="histogram") + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 5/16, axis.text.y = theme_blank(), axis.title.y=theme_blank(), background.colour="white") yhist <- qplot(y, geom="histogram") + coord_flip() + opts(background.fill = "white", background.color ="black") yhist <- yhist + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = […]

R – 按定义的间隔切割

R有没有一些方法可以在没有任何中断的情况下进行定义的时间间隔? 例如,如果我想要在确切的区间值[1,10]; 默认情况下会将这个间隔分成更小的间隔。

多行轴标签嵌套分组variables

我希望两个不同的嵌套分组variables的级别出现在图下方的分隔线上,而不是图例中。 我现在所拥有的是这个代码: data <- read.table(text = "Group Category Value S1 A 73 S2 A 57 S1 B 7 S2 B 23 S1 C 51 S2 C 87", header = TRUE) ggplot(data = data, aes(x = Category, y = Value, fill = Group)) + geom_bar(position = 'dodge') + geom_text(aes(label = paste(Value, "%")), position = position_dodge(width = […]

dplyr中的标准评估:sumrise_以variablesforms给出的string

我想在summarise引用一个未知的列名。 dplyr 0.3引入的标准评估函数允许使用variables引用列名,但是当您在summarise调用base R函数时,这似乎不起作用。 library(dplyr) key <- "v3" val <- "v2" drp <- "v1" df <- data_frame(v1 = 1:5, v2 = 6:10, v3 = c(rep("A", 3), rep("B", 2))) DF如下所示: > df Source: local data frame [5 x 3] v1 v2 v3 1 1 6 A 2 2 7 A 3 3 8 A 4 4 […]

汇总给定列上的数据框并显示另一列

我有以下forms的R中的数据框: > head(data) Group Score Info 1 1 1 a 2 1 2 b 3 1 3 c 4 2 4 d 5 2 3 e 6 2 1 f 我想要使​​用max函数在Score列之后进行聚合 > aggregate(data$Score, list(data$Group), max) Group.1 x 1 1 3 2 2 4 但是我也希望显示与每个组的Score列的最大值相关的Info列。 我不知道如何做到这一点。 我期望的输出将是: Group.1 xy 1 1 3 c 2 2 4 […]

在R中,replacestring中的文本

我想从vector中的string中删除特定的字符,类似于Excel中的“ 查找和replace”function。 这里是我开始的数据: group <- data.frame(c("12357e", "12575e", "197e18", "e18947") 我从第一列开始, 我想通过删除e来产生第二列: group group.no.e 12357e 12357 12575e 12575 197e18 19718 e18947 18947

你如何在R中使用“<< – ”(范围赋值)?

我刚刚读完R介绍的范围,对于这个任务非常好奇。 该手册显示了一个(非常有趣的) <<-例子,我觉得我明白了。 我仍然缺less的是什么时候这可能是有用的上下文。 所以我喜欢从你那里读到的是关于何时使用<<-可以是有趣/有用的例子(或者示例的链接)。 什么可能是使用它的危险(看起来很容易疏忽跟踪),以及任何你可能想分享的提示。

提取stat_smooth线拟合的方法

有没有办法提取从stat_smooth返回的拟合线的值? 我使用的代码如下所示: p <- ggplot(df1, aes(x=Days, y= Qty,group=Category,color=Category)) p <- p + stat_smooth(method=glm, fullrange=TRUE)+ geom_point()) 这个新的用户将非常感谢任何指导。