相关疑难解决方法(0)

如何制作数据框列表?

如何制作数据框列表以及如何从列表中访问每个数据框?

例如,如何将这些数据框放在列表中?

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)

r list dataframe r-faq

171
推荐指数
7
解决办法
19万
查看次数

R出生日期和任意日期的有效和准确的年龄计算(年,月或周)

我面临着计算出生日期和任意日期的年龄(年,月或周)的共同任务.事情是,我经常需要在许多记录(> 3亿)上执行此操作,因此性能是一个关键问题.

在SO和Google中快速搜索后,我找到了3个替代方案:

  • 常用的算术程序(/365.25)(链接)
  • 使用函数new_interval()duration()lubridate(链接)
  • age_calc()包中的功能eeptools(链接,链接,链接)

所以,这是我的玩具代码:

# 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 lubridate

15
推荐指数
4
解决办法
1万
查看次数

计算R中的年龄

我在R中有两个数据框.一个框架有一个人的出生年份:

YEAR
/1931
/1924
Run Code Online (Sandbox Code Playgroud)

然后另一列显示更近的时间.

RECENT
09/08/2005
11/08/2005
Run Code Online (Sandbox Code Playgroud)

我想做的是减去这些年份,以便我可以计算他们的年龄,但是我不知道如何处理这个问题.有什么帮助吗?

r date

14
推荐指数
4
解决办法
3万
查看次数

当出生年份只有两个数字时,从个人数字计算年龄

我知道有很多类似的问题.但我不是一样的问!

我的问题是,我所看到的所有问题都是全年的生日,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> …

r date-of-birth

5
推荐指数
1
解决办法
137
查看次数

标签 统计

r ×4

dataframe ×1

date ×1

date-of-birth ×1

list ×1

lubridate ×1

r-faq ×1