Tag: r

如何select每个组中具有最大值的行

目前我有一个问题如下。 在一个数据集中,每个主题都有多个观察值,我想创build一个只有最大数据logging的数据集。 例如,对于一个数据集如下: ID <- c(1,1,1,2,2,2,2,3,3) Value <- c(2,3,5,2,5,8,17,3,5) Event <- c(1,1,2,1,2,1,2,2,2) group <- data.frame(Subject=ID, pt=Value, Event=Event) 对象1,2和3的pt值分别是5,17和5。 我怎么能先find每个主题的最大pt值,然后将这个观察值放在另一个数据框中? 这意味着这个子集只有每个主题的最大pt值。

Rscript:确定正在执行的脚本的path

我有一个名为foo.R脚本,它包含另一个脚本other.R ,它位于同一个目录中: #!/usr/bin/env Rscript print("Hello") source("other.R") 但是我想Rfind其他的other.R无论目前的工作目录。 换句话说, foo.R需要知道自己的path。 我怎样才能做到这一点?

模拟ggplot2默认调色板

我可以使用什么函数来模拟ggplot2的默认调色板以获得所需的颜色数量。 例如,input3会产生一个HEX颜色的字符向量,其颜色为:

为每一行返回最大值的列名称

我有一个员工名册,我需要知道他们最常在哪个部门工作。 将员工ID与部门名称进行制表是微不足道的,但是从频率表中返回部门名称而不是名册数量更为棘手。 下面是一个简单的例子(列名=部门,行名=员工ID)。 DF <- matrix(sample(1:9,9),ncol=3,nrow=3) DF <- as.data.frame.matrix(DF) > DF V1 V2 V3 1 2 7 9 2 8 3 6 3 1 5 4 现在我怎么得到 > DF2 RE 1 V3 2 V1 3 V2

将图例添加到ggplot2线图

我有一个关于ggplot2的传说的问题。 我设法在同一个图中绘制三条线,并且想要使用三种颜色添加图例。 这是使用的代码 library(ggplot2) require(RCurl) link<-getURL("https://dl.dropbox.com/s/ds5zp9jonznpuwb/dat.txt") datos<- read.csv(textConnection(link),header=TRUE,sep=";") datos$fecha <- as.POSIXct(datos[,1], format="%d/%m/%Y") temp = ggplot(data=datos,aes(x=fecha, y=TempMax,colour="1")) + geom_line(colour="red") + opts(title="TITULO") + ylab("Temperatura (C)") + xlab(" ") + scale_y_continuous(limits = c(-10,40)) + geom_line(aes(x=fecha, y=TempMedia,colour="2"),colour="green") + geom_line(aes(x=fecha, y=TempMin,colour="2"),colour="blue") + scale_colour_manual(values=c("red","green","blue")) temp 和输出 我想用三种颜色和variables名称(TempMax,TempMedia和TempMin)添加一个图例。 我努力了 scale_colour_manual 但是找不到确切的方法。 不幸的是原始数据从链接网站删除,无法恢复。 但他们来自这种格式的气象数据文件 "date","Tmax","Tmin","Tmed","Precip.diaria","Wmax","Wmed" 2000-07-31 00:00:00,-1.7,-1.7,-1.7,-99.9,20.4,20.4 2000-08-01 00:00:00,22.9,19,21.11,-99.9,6.3,2.83 2000-08-03 00:00:00,24.8,12.3,19.23,-99.9,6.8,3.87 2000-08-04 00:00:00,20.3,9.4,14.4,-99.9,8.3,5.29 […]

评估以stringforms给出的expression式

我很想知道R是否可以使用它的eval()函数来执行由string提供的计算。 这是一个常见的情况: eval("5+5") 但是,而不是10我得到: [1] "5+5" 任何解决scheme

如何在R中查找和填充(如在Excel中)?

我有一个105000行和30列的数据集。 我有一个分类variables,我想把它分配给一个数字。 在Excel中,我可能会做一些与VLOOKUP和填充。 我怎么会在R做同样的事情呢? 基本上,我有一个HouseTypevariables,我需要计算HouseTypeNo 。 以下是一些示例数据: HouseType HouseTypeNo Semi 1 Single 2 Row 3 Single 2 Apartment 4 Apartment 4 Row 3

将dataframe列表转换为一个dataframe

我有一个代码,在一个地方结束了一个dataframe列表,我真的想要转换成一个单一的大数据框架。 我从一个早期的问题中得到了一些指导,试图做类似的事情,但是更复杂一些。 这里是我开始的一个例子(这是非常简单的说明): listOfDataFrames <- vector(mode = "list", length = 100) for (i in 1:100) { listOfDataFrames[[i]] <- data.frame(a=sample(letters, 500, rep=T), b=rnorm(500), c=rnorm(500)) } 我目前正在使用这个: df <- do.call("rbind", listOfDataFrames)

更改离散x比例的顺序

我正在使用离散x尺度的ggplot制作一个闪避的条形图,x轴现在按照字母顺序排列,但我需要重新排列它,以便按照y轴的值sorting(即最高的小节将定位在左侧)。 我尝试了顺序或sorting,但导致sorting的X轴,而不是分别为条。 我做错了什么?

将data.frame列名传递给一个函数

我试图写一个函数来接受data.frame( x )和它的一column 。 该函数在x上执行一些计算,然后返回另一个data.frame。 我坚持最佳实践方法将列名传递给函数。 下面的两个最小例子fun1和fun2产生所需的结果,能够在x$column上执行操作,以max()为例。 但是,两人都依靠看似(至less对我来说)不雅 调用substitute()和可能eval() 需要将列名作为字符向量传递。 fun1 <- function(x, column){ do.call("max", list(substitute(x[a], list(a = column)))) } fun2 <- function(x, column){ max(eval((substitute(x[a], list(a = column))))) } df <- data.frame(B = rnorm(10)) fun1(df, "B") fun2(df, "B") 例如,我希望能够将该函数调用为fun(df, B) 。 其他选项,我已经考虑,但没有尝试过: 传递column作为列号的整数。 我认为这将避免substitute() 。 理想情况下,该function也可以接受。 with(x, get(column)) ,但是,即使它起作用,我认为这仍然需要substitute 利用formula()和match.call() ,我也没有太多的经验。 子问题 : do.call()是否优于eval() ?