首页 > 解决方案 > 在R中读取List excel然后执行操作(二)

问题描述

我已经在这里创建了一个类似的问题,尽管现在的任务是从每列中选择两个条目作为输出建议

在此处输入图像描述

示例数据框

df <- structure(list(A = c("A1", "A2", "A3", "A4",NA), B = c("B1", "B2", 
"B3", "B4",NA), C = c("C1", "C2", "C3", "C4", "C5"), D = c("D1", 
"D2",NA,NA,NA)), row.names = c(NA, -5L), class = c("tbl_df", 
"tbl", "data.frame"))

标签: rdplyrtidyverse

解决方案


我们可以使用splitand unlist

library(purrr)
library(dplyr)

df %>% split(c(1,1,2,2,2)) %>%
        unlist()%>%
        keep(!is.na(.))

1.A1 1.A2 1.B1 1.B2 1.C1 1.C2 1.D1 1.D2 2.A1 2.A2 2.B1 2.B2 2.C1 2.C2 2.C3 
"A1" "A2" "B1" "B2" "C1" "C2" "D1" "D2" "A3" "A4" "B3" "B4" "C3" "C4" "C5" 

或者干脆

df %>% split(seq_len(nrow(.))>2) %>% unlist() %>% discard(is.na) %>% unname

 [1] "A1" "A2" "B1" "B2" "C1" "C2" "D1" "D2" "A3" "A4" "B3" "B4" "C3" "C4" "C5"

推荐阅读