Tag: r

将每日数据汇总到月/年间隔

我经常不需要在R中使用date,但我想这很容易。 我有一个表示数据框中的date的列。 我只是想创build一个新的数据框,使用date按月/年来总结第二列。 什么是最好的方法? 我想要第二个dataframe,所以我可以喂它到一个情节。 任何帮助,您可以提供将不胜感激! 编辑:供参考: > str(temp) 'data.frame': 215746 obs. of 2 variables: $ date : POSIXct, format: "2011-02-01" "2011-02-01" "2011-02-01" … $ amount: num 1.67 83.55 24.4 21.99 98.88 … > head(temp) date amount 1 2011-02-01 1.670 2 2011-02-01 83.550 3 2011-02-01 24.400 4 2011-02-01 21.990 5 2011-02-03 98.882 6 2011-02-03 24.900

我应该学习Fortran还是C ++来扩展R?

我使用相当大的数据集进行机器学习(他们仍然适合内存),我写了一些R中的计算,我发现它们太慢了。 因此,我想用我将从R调用的编译代码replace程序的“关键部分”。我手中的一个示例问题是实现前向后向algorithm 。 我的问题是,我应该学习Fortran还是C ++来做到这一点? 我只需要使用数字向量或matrix。 我主要感兴趣的是哪种语言更容易学习和从R的界面,我并不在乎我的简历上看起来更好。 我已经阅读了R扩展手册,并通过一些简单的Fortran和C ++代码使用了内联包。 我目前的印象是Fortran95的学习会比较简单,虽然Rcpp包也很有趣。 我目前知道R,Python和Matlab。

将string切换成固定宽度字符元素的向量

我有一个包含文本string的对象: x <- "xxyyxyxy" 我想把它变成一个vector,每个元素包含两个字母: [1] "xx" "yy" "xy" "xy" 它似乎像strsplit()应该是我的票,但由于我没有正则expression式富,我不知道如何使这个function砍我的string的方式,我想它。 我应该怎么做?

plot.new()中的错误:图边距太大,散点图

我已经看了不同的问题的解决scheme,我已经尝试了什么build议,但我还没有find一个解决scheme,使其工作。 每次我想运行这个代码,它总是说: plot.new()中的错误:图边距过大 我不知道如何解决这个问题。 这是我的代码: par(mfcol=c(5,3)) hist(RtBio, main="Histograma de Bio Pappel") boxplot(RtBio, main="Diagrama de Caja de Bio Pappel") stem(RtBio) plot(RtBio, main="Gráfica de Dispersión") hist(RtAlsea, main="Histograma de Alsea") boxplot(Alsea, main="Diagrama de caja de Alsea") stem(RtAlsea) plot(RtTelev, main="Gráfica de distribución de Alsea") hist(RtTelev, main="Histograma de Televisa") boxplot(telev, main="Diagrama de Caja de Televisa") stem(Telev) plot(Telev, main="Gráfica de dispersión […]

R在setMethod(或setGeneric)中有太多参数时挂起,

基本上,当setMethod或( setGeneric )中有很多参数时,它的工作速度非常慢。 这里是一个基本的例子: setClassUnion(name = "mNumeric", members = c("missing", "numeric")) setClass(Class = "classA", representation = representation(ID = "character")) setGeneric("foo", function(r, i, …, m = 1, D = 1, U = 999, K = 0.005, E1 = -5, E2 = 5, E3 = 1, E4 = 1, E5 = 1, E6 = 1, A1 = […]

为什么对于一个整数向量x,as(x,“numeric”)会触发加载一个额外的S4强制方法?

虽然我的问题与最近的问题有关,但我怀疑它的答案将与R的S4对象系统的详细工作有关。 我期望的是: ( TLDR; – 所有的迹象表明, as(4L, "numeric")应该派遣到一个函数的身体使用as.numeric(4L)将其转换为"numeric"向量。 每当使用as(object, Class)将对象转换为所需的Class ,实际上是触发了一个coerce()的幕后调用。 coerce()又有一堆方法,它们是根据函数调用的签名来调度的 – 这里是第一个和第二个参数的类。 要查看所有可用的S4 coerce()方法的列表,可以运行showMethods("coerce") 。 这样做表明只有一种转换为"numeric"类的方法。 这是签名from="ANY", to="numeric" : showMethods("coerce") # Function: coerce (package methods) # from="ANY", to="array" # … snip … # from="ANY", to="numeric" # … snip … 该方法使用as.numeric()来执行转换: getMethod("coerce", c("ANY", "numeric")) # Method Definition: # # function (from, to, strict = […]

如何开始使用大数据分析

我一直是R的很长一段时间的用户,并且最近开始使用Python。 使用传统的RDBMS系统进行数据仓库,使用R / Python进行数据处理,我觉得现在需要用大数据分析来解决问题。 我想知道如何开始处理大数据。 – 如何从Map / Reduce和Hadoop的使用开始 如何利用我在R和Python方面的技能来开始大数据分析。 例如使用Python Disco项目。 使用RHIPE软件包并查找玩具数据集和问题区域。 find正确的信息,让我决定是否需要从RDBMStypes数据库转移到NoSQL 总而言之,我想知道如何从小数据开始,逐步build立我在大数据分析方面的技能和诀窍。 感谢您的build议和意见。 我对这个查询的一般性质表示歉意,但是我希望获得关于这个主题的更多的观点。 苛刻

根据列中的公共值将大数据框分割成数据框列表

我有一个数据框10列,收集“用户”的行动,其中一列包含一个ID(不唯一,识别用户)(第10列)。 dataframe的长度约为750000行。 我试图提取单个dataframe(所以得到一个数据框的列表或向量)由包含“用户”标识符的列拆分,以隔离单个参与者的行为。 ID | Data1 | Data2 | … | UserID 1 | aaa | bbb | … | u_001 2 | aab | bb2 | … | u_001 3 | aac | bb3 | … | u_001 4 | aad | bb4 | … | u_002 导致进入 list( ID | Data1 | Data2 […]

如何在Rmarkdown中添加目录?

我正在使用RStudio编写markdown文档,并希望在文档顶部添加目录(TOC),以便用户可以单击相关章节进行阅读。 在rpubs上有一些相关的例子,但现在我似乎无法find它们。 请注意,我不使用pandoc而且对于Rmd & knitr是相当新的。 有没有办法添加TOC而不使用pandoc ? 如果使用pandoc必须那么哪些function是相关的? 编辑 这里是一个小样本页面: — title: "Sample Document" output: html_document: toc: true theme: united — Header 1 ————— This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. ## Header […]

错误:C堆栈使用情况太接近限制

我试图在R中运行一些相当深的recursion代码,它不断给我这个错误: 错误:C堆栈使用情况太接近限制 我从CStack_info()输出是: Cstack_info() size current direction eval_depth 67108864 8120 1 2 我的机器上有很多内存,我只是想弄清楚如何增加R的CStack。 编辑:有人问一个可重复的例子。 以下是导致问题的一些基本示例代码。 运行f(1,1)几次,你会得到错误。 请注意,我已经设置了–max-ppsize = 500000和选项(expression式= 500000),所以如果你不设置这些,你可能会得到这两个事情之一的错误。 正如你所看到的那样,recursion在这里可能会非常深入,我不知道如何使它一致地工作。 谢谢。 f <- function(root=1,lambda=1) { x <- c(0,1); prob <- c(1/(lambda+1),lambda/(lambda+1)); repeat { if(root == 0) { break; } else { child <- sample(x,2,replace=TRUE,prob); if(child[1] == 0 && child[2] == 0) { break; } […]