如何制作数据框列表以及如何从列表中访问每个数据框?
例如,如何将这些数据框放在列表中?
d1 <- data.frame(y1 = c(1, 2, 3),
y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1),
y2 = c(6, 5, 4))
Run Code Online (Sandbox Code Playgroud) 我面临着计算出生日期和任意日期的年龄(年,月或周)的共同任务.事情是,我经常需要在许多记录(> 3亿)上执行此操作,因此性能是一个关键问题.
在SO和Google中快速搜索后,我找到了3个替代方案:
所以,这是我的玩具代码:
# Some toy birthdates
birthdate <- as.Date(c("1978-12-30", "1978-12-31", "1979-01-01",
"1962-12-30", "1962-12-31", "1963-01-01",
"2000-06-16", "2000-06-17", "2000-06-18",
"2007-03-18", "2007-03-19", "2007-03-20",
"1968-02-29", "1968-02-29", "1968-02-29"))
# Given dates to calculate the age
givendate <- as.Date(c("2015-12-31", "2015-12-31", "2015-12-31",
"2015-12-31", "2015-12-31", "2015-12-31",
"2050-06-17", "2050-06-17", "2050-06-17",
"2008-03-19", "2008-03-19", "2008-03-19",
"2015-02-28", "2015-03-01", "2015-03-02"))
# Using a common arithmetic procedure ("Time differences in …Run Code Online (Sandbox Code Playgroud) 我在R中有两个数据框.一个框架有一个人的出生年份:
YEAR
/1931
/1924
Run Code Online (Sandbox Code Playgroud)
然后另一列显示更近的时间.
RECENT
09/08/2005
11/08/2005
Run Code Online (Sandbox Code Playgroud)
我想做的是减去这些年份,以便我可以计算他们的年龄,但是我不知道如何处理这个问题.有什么帮助吗?
我知道有很多类似的问题.但我不是一样的问!
我的问题是,我所看到的所有问题都是全年的生日,fx 04/05/1971(格式:%d /%m /%Y).
我的数据中的生日是丹麦的CPR号码(个人识别码),它们看起来像这样:
ID
1901912222
0110841111
0404143333
1602032444
Run Code Online (Sandbox Code Playgroud)
注意:这些日期就是例子.我有成千上万的行,它是所有年龄段的人,也超过100(但通常不超过17).
第1和第2个数字:出生日期第3个和第4个数字:出生月份第5个和第6个数字:出生年份最后4个=连续数字.
所以这给了我生日(和年龄):
ID birthdate age
1901912222 19/09/91 26
0110841111 01/10/84 33
0404143333 04/04/14 103
1602024444 16/02/02 15
Run Code Online (Sandbox Code Playgroud)
所以格式为:%d%m%y [4位数的连续数]
所以最后四位数(序号)也有一些信息.他们告诉这个人是3岁还是103岁(现在我没有这一年).有关说明,请参见图片:
我不知道是否有任何帮助,但我有Excel代码:
= YEAR(NOW()) - 1-IF(DATE(YEAR(NOW()); MID(D12; 3; 2); LEFT(D12; 2))<= NOW(); MID(D12; 5; 2 )+ IF(左(右(D12; 4); 1)*1 <= 3; 1900; IF(AND(LEFT(RIGHT(D12; 4); 1)*1 = 4; MID(D12; 5; 2 )*1 <= 36); 2000; IF(AND(LEFT(RIGHT(D12; 4); 1)*1 = 4; MID(D12; 5; 2)*1> = 37); 1900; IF(AND (左(右(D12; 4); 1)*1> …