第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何根據(jù)某些條件將行組合在一起?(R 或 Python)

如何根據(jù)某些條件將行組合在一起?(R 或 Python)

皈依舞 2022-08-11 17:53:05
目的:如果“主題”、“Re”和“長(zhǎng)度”列具有相同的連續(xù)值,并且“文件夾”== “out”,則將數(shù)據(jù)的各個(gè)部分組合在一起|“草稿”,消息 == “”,編輯為 == “T”并獲取其持續(xù)時(shí)間。Subject Re                    Length         Folder      Message   Date                   Edit             a@mail.com,b@mail.com 80             out                   1/2/2020 1:00:01 AM     T                                       a@mail.com,b@mail.com 80             out                   1/2/2020 1:00:05 AM     T                        hey     a@mail.com,b@mail.com 80             out                   1/2/2020 1:00:10 AM     T                        hey     a@mail.com,b@mail.com 80             out                   1/2/2020 1:00:15 AM     T                        hey     a@mail.com,b@mail.com 80             out                   1/2/2020 1:00:30 AM     T hey     a@mail.com,b@mail.com 80            draft                  1/2/2020 1:02:00 AM     T                        hey     a@mail.com,b@mail.com 80            draft                  1/2/2020 1:02:05 AM     T                        hey     a@mail.com,b@mail.com 80             out                   1/2/2020 1:03:10 AM     T                        hey     a@mail.com,b@mail.com 80             out                   1/2/2020 1:03:20 AM     T                        所需輸出 Start                  End                        Duration          Group 1/2/2020 1:00:10 AM    1/2/2020 1:00:30 AM        20                A 1/2/2020 1:02:00 AM    1/2/2020 1:02:05 AM        5                 A 1/2/2020 1:03:10 AM    1/2/2020 1:03:20 AM        10                A我知道我可以這樣過(guò)濾:   df1<-df2 %>%   mutate(Date = lubridate::mdy_hms(Date),     cond = Edit == "T" & ItemFolderName == "out" | Folder == "drafts" &     Message == "" & Subject     ==  ?   & Re ==   ?     & Length == ?   但不確定如何合并“如果有連續(xù)值”。我會(huì)繼續(xù)研究,任何幫助或建議都非常感謝。
查看完整描述

1 回答

?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

您的外觀與您發(fā)布的數(shù)據(jù)框略有不同:structure


> df

   Subject                   Recipient Length Folder Message                Date Edit

1                                          80    out      NA 1/2/2020 1:00:01 AM TRUE

2                                          80    out      NA 1/2/2020 1:00:05 AM TRUE

3      hey sarah@mail.com,gee@mail.com     80    out      NA 1/2/2020 1:00:10 AM TRUE

4      hey sarah@mail.com,gee@mail.com     80    out      NA 1/2/2020 1:00:15 AM TRUE

5      hey sarah@mail.com,gee@mail.com     80    out      NA 1/2/2020 1:00:30 AM TRUE

6                                          NA             NA                       NA

7                                          NA             NA                       NA

8      hey sarah@mail.com,gee@mail.com     80  draft      NA 1/2/2020 1:02:00 AM TRUE

9      hey sarah@mail.com,gee@mail.com     80  draft      NA 1/2/2020 1:02:05 AM TRUE

10                                         NA             NA                       NA

11                                         NA             NA                       NA

12     hey sarah@mail.com,gee@mail.com    100  draft      NA 1/2/2020 1:03:00 AM TRUE

13     hey sarah@mail.com,gee@mail.com    100  draft      NA 1/2/2020 1:03:20 AM TRUE

此外,您所需的輸出表明您希望按其他類別拆分組,但這不是您的描述所說(shuō)的,因此我沒(méi)有按 分組。不過(guò),如果您愿意,這很容易改變。FolderFolder


您可以使用運(yùn)行長(zhǎng)度編碼來(lái)消除排序數(shù)據(jù)中相同連續(xù)值的組的歧義,但在 R 中,轉(zhuǎn)換為數(shù)據(jù)框列有點(diǎn)棘手。我用這個(gè)答案來(lái)實(shí)現(xiàn)這一點(diǎn)。rle


library(lubridate)

library(dplyr)


df %>%

  mutate(Date = mdy_hms(Date),

         Key = paste(Subject, Recipient, Length, sep = "_")) %>%

  arrange(Date) %>%

  filter(Folder == "out" | Folder == "draft" & Edit == TRUE) %>%

  mutate(RLE = {RLE = rle(Key) ; rep(seq_along(RLE$lengths), RLE$lengths)}) %>%

  group_by(RLE) %>%

  summarize(Start = first(Date),

            End = last(Date),

            Duration = as.numeric(End) - as.numeric(Start))

這將從第 1:2 行、3:5+8:9 和 12:13 行創(chuàng)建組。這些組給出以下持續(xù)時(shí)間:


# A tibble: 3 x 4

    RLE Start               End                 Duration

  <int> <dttm>              <dttm>                 <dbl>

1     1 2020-01-02 01:00:01 2020-01-02 01:00:05        4

2     2 2020-01-02 01:00:10 2020-01-02 01:02:05      115

3     3 2020-01-02 01:03:00 2020-01-02 01:03:20       20

如果要包含在分組中,請(qǐng)將其添加到創(chuàng)建 中包含的內(nèi)容中。這使得小組1:2,3:5,8:9和12:13。這樣做會(huì)得到這樣的結(jié)果:FolderKey


# A tibble: 4 x 4

    RLE Start               End                 Duration

  <int> <dttm>              <dttm>                 <dbl>

1     1 2020-01-02 01:00:01 2020-01-02 01:00:05        4

2     2 2020-01-02 01:00:10 2020-01-02 01:00:30       20

3     3 2020-01-02 01:02:00 2020-01-02 01:02:05        5

4     4 2020-01-02 01:03:00 2020-01-02 01:03:20       20


查看完整回答
反對(duì) 回復(fù) 2022-08-11
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)