簡體   English   中英

如何將數據幀拆分為奇數和偶數年?

[英]How can I split a dataframe into odd and even years?

我有這種格式的數據框:

    19620101    1   2   4
    19630102    6   2   3
    19640103    0   2   3
    19650104    0   1   3

我想根據年份是偶數還是奇數將它拆分並存儲到兩個變量/數據幀中。

所以基本上,一個數據幀/變量甚至會有幾年

    19620101    1   2   4
    19640103    0   2   3

而另一個將有奇數年:

    19630102    6   2   3
    19650104    0   1   3

我怎樣才能做到這一點?

> split(df, floor(df[[1]] / 1e4) %% 2 == 0)
$`FALSE`
        V1 V2 V3 V4
2 19630102  6  2  3
4 19650104  0  1  3

$`TRUE`
        V1 V2 V3 V4
1 19620101  1  2  4
3 19640103  0  2  3

如果年份存儲在第一列的四個第一個字符中,那么

split(d,as.numeric(substr(d$V1,1,4))%%2==0)

其中d是data.frame:

> d
        V1 V2 V3 V4
1 19620101  1  2  4
2 19630102  6  2  3
3 19640103  0  2  3
4 19650104  0  1  3

> dput(d)
structure(list(V1 = c(19620101L, 19630102L, 19640103L, 19650104L
), V2 = c(1L, 6L, 0L, 0L), V3 = c(2L, 2L, 2L, 1L), V4 = c(4L, 
3L, 3L, 3L)), .Names = c("V1", "V2", "V3", "V4"), class = "data.frame", row.names = c(NA, 
-4L))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM