Tag: r

closuresggplot中的一些传说

假设我有一个超过一个图例的ggplot。 mov <- subset(movies, length != "") (p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) + geom_point() ) 我可以closures所有图例的显示: (p1 <- p0 + theme(legend.position = "none")) 将show_guide = FALSE传递给geom_point (按照这个问题 )closures形状图例。 (p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) + geom_point(show_guide = FALSE) ) 但是如果我想closures颜色图例呢? 似乎没有办法告诉show_guide将其行为应用于哪个图例。 尺度和美学没有show_guide论据。 (p3 <- […]

使用:=在data.table中,按组分组多个列

使用data.table分配给多个列的最佳方式是什么? 例如: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) 我想要做这样的事情(当然这个语法是不正确的): x[ , (col1, col2) := f(), by = "id] 并扩大,我可能有很多名称在variables列(如column_names ),我想这样做: x[ , col_names := another_f(), by = "id", with = FALSE] 什么是正确的方式来做这样的事情?

如何search“R”材料?

“谷歌”是非常有帮助的…除非你的语言被称为“R”,在这种情况下,它吐出了无数不相关的东西。 任何人都有“R”的search引擎技巧? 有一些专门的网站,如下所示,但你怎么能告诉谷歌你的意思是“R”的语言? 如果我正在寻找具体的东西,我会使用一个特定于R的术语,比如“cbind”。 还有其他这样的技巧吗? rweb.stat.umn.edu www.rseek.org search.r-project.org www.dangoldstein.com/search_r.html

如何正确使用R中的列表?

简要背景:广泛使用的许多(大多数)当代编程语言至less有less数ADT [抽象数据types]是相同的,特别是, string (由字符组成的序列) 列表 (一个有序的值集合)和 基于地图的types (将键映射到值的无序数组) 在R编程语言中,前两个分别作为character和vector来实现。 当我开始学习R时,几乎从一开始就有两件事是明显的: list是R中最重要的数据types(因为它是R data.frame的父类),其次,我不明白它们是如何工作,至less不够好,在我的代码中正确使用它们。 首先,在我看来,R的list数据types是ADT(Python中的dictionary ,Objective C中的NSMutableDictionary ,Perl和Ruby中的hash ,Javascript中的object literal量等等)的直接实现。 例如,通过将键值对传递给构造函数(在Python中不是list ),可以像创buildPython字典一样创build它们: x = list("ev1"=10, "ev2"=15, "rv"="Group 1") 你可以像访问Python字典那样访问R列表的项目,例如x['ev1'] 。 同样,您可以通过以下方式检索“键”或“值” : names(x) # fetch just the 'keys' of an R list # [1] "ev1" "ev2" "rv" unlist(x) # fetch just the 'values' of an R list […]

“for”循环只添加最后的ggplot图层

简介:当我使用“for”循环将图层添加到小提琴绘图(在ggplot中)时,唯一添加的图层是由最终循环迭代创build的图层。 然而,在模仿循环产生的代码的显式代码中,所有的图层都被添加了。 详细信息:我正在尝试创build具有重叠图层的小提琴图表,以显示估计分布与多个调查问题响应是否重叠的程度,按地点分层。 我希望能够包含任意数量的位置,所以我在每个位置都有一个数据框的列,并试图使用“for”循环为每个位置生成一个ggplot图层。 但循环仅添加循环的最终迭代中的图层。 这个代码说明了这个问题,一些build议的方法失败了: library(ggplot2) # Create a dataframe with 500 random normal values for responses to 3 survey questions from two cities topic <- c("Poverty %","Mean Age","% Smokers") place <- c("Chicago","Miami") n <- 500 mean <- c(35, 40,58, 50, 25,20) var <- c( 7, 1.5, 3, .25, .5, 1) df <- data.frame( […]

R:屏蔽function

在stats包中,有一个非常有用的函数叫reorder()。 在gdata包中,还有一个叫做reorder()的函数。 如何从统计强制重排(),而不是在加载gdata包时被覆盖? 或者,有没有办法引用你想要使用的reorder()?

如何通过do函数对某些列中不同数量的string进行分解

当列的元素具有不同数量的string时,我有分割列值的问题。 我可以用plyr做,例如: library(plyr) column <- c("jake", "jane jane","john john john") df <- data.frame(1:3, name = column) df$name <- as.character(df$name) df2 <- ldply(strsplit(df$name, " "), rbind) View(df2) 因此,我们有与给定元素中的最大刺入次数相关的列数的dataframe。 当我尝试在dplyr中完成时,我使用了do函数: library(dplyr) df2 <- df %>% do(data.frame(strsplit(.$name, " "))) 但我得到一个错误: Error in data.frame("jake", c("jane", "jane"), c("john", "john", "john" : arguments imply differing number of rows: 1, 2, 3 […]

使用开始和结束date按date范围展开行

考虑表单的数据框 idnum start end 1993.1 17 1993-01-01 1993-12-31 1993.2 17 1993-01-01 1993-12-31 1993.3 17 1993-01-01 1993-12-31 start和end的Datetypes $ idnum : int 17 17 17 17 27 27 $ start : Date, format: "1993-01-01" "1993-01-01" "1993-01-01" "1993-01-01" … $ end : Date, format: "1993-12-31" "1993-12-31" "1993-12-31" "1993-12-31" … 我想创build一个新的数据框,而不是每个月的start和end (包括边界)之间的每一个月的观察: 期望的输出 idnum month 17 1993-01-01 17 […]

R有像Perl的qw()这样的引用类运算符吗?

任何人都知道,如果R有像Perl的qw()这样的引用运算符来生成字符向量?

在两点之间缩放一系列

我如何扩大一个系列,使得系列中的第一个数字是0,最后一个数字是1.我研究了“近似”,“尺度”,但是他们没有达到这个目标。 # generate series from exponential distr s = sort(rexp(100)) # scale/interpolate 's' such that it starts at 0 and ends at 1? # approx(s) # scale(s)