如果有人可以帮助完成以下任务,我将非常感激。我搜索了R主题,但没有找到任何专门解决此问题的方法。我也尝试过使用哪张桌子,但并没有真正达到目的。
x_1 <- c("A1", "A1", "B10", "B10", "B10", "C100", "C100", "C100")
y_1 <- as.Date(c("2010-11-17", "2010-11-17", "2010-11-17", "2009-02-14",
"2004-10-20", "2008-03-21", "2010-09-30", "2004-06-22"))
A <- data.frame(x_1, y_1)
x_2 <- c("A1", "B10", "B10", "B10","B10", "C100", "C100", "C100")
y_2 <- as.Date(c("2013-07-23", "2012-01-01", "2011-08-29", "2011-10-20",
"2010-08-10", "2012-06-21", "2013-08-27", "2012-11-25"))
B <- data.frame(x_2, y_2)
A
和B
是我工作两个数据帧。我需要A
使用B
(即 x_2
)中给定的名称编号/顺序来构造一个新的数据框。新的数据框将包含名称x_2
以及每个类别中最早的日期y_1
(例如,"B10"
来自A
is的类别中最早的日期2004-10-20
,等等),以便最终A2
得到下面给出的新数据框:
x_3 <- c("A1", "B10", "B10", "B10", "B10", "C100", "C100", "C100")
y_3 <- as.Date(c("2010-11-17","2004-10-20", "2004-10-20", "2004-10-20",
"2004-10-20","2004-06-22", "2004-06-22", "2004-06-22" ) )
A2 <- data.frame(x_3, y_3 )
我的目的是减去日期A2
从B
获得在天期限的身影。上面是我的真实数据的非常简化的版本。我正在处理的数据约为3000行。
任何帮助将不胜感激,如有任何需要澄清的地方,请告诉我。我在MAC中使用R的2.15.2版本。
谢谢
这是创建您的方法之一A2
:
C <- A[order(A$x_1,A$y_1),]
A2 <- C[match(B$x_2,C$x_1),]
使用order()
将确保最早的日期在第一位。使用会match()
匹配变量的第一个出现位置,因此它只会选择最早的日期。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句