我在下面有一个数据框,实际上它实际上有更多列,我只想选择最后两列。
df <- read.table(text="
date1 date2 date3
1 NA 2016-12-01 2016-12-01
2 2017-01-01 2018-10-01 2016-12-01
3 2016-12-01 NA 2016-12-01
4 NA NA 2016-12-01
", header=TRUE)
Run Code Online (Sandbox Code Playgroud)
不指定列名怎么办?
df %>%
select(date2, date3)
Run Code Online (Sandbox Code Playgroud)
聚会迟到了。仅作为记录,有一种方便的方法tidyverse
可以选择最后一列:
library(tidyverse)
df %>%
select(last_col(offset = 1), last_col())
date2 date3
1 2016-12-01 2016-12-01
2 2018-10-01 2016-12-01
3 <NA> 2016-12-01
4 <NA> 2016-12-01
Run Code Online (Sandbox Code Playgroud)
由reprex 包于 2021 年 1 月 20 日创建(v0.3.0)
选择第一列很简单:
> df %>%
+ select(1,2)
date1 date2
1 <NA> 2016-12-01
2 2017-01-01 2018-10-01
3 2016-12-01 <NA>
4 <NA> <NA>
Run Code Online (Sandbox Code Playgroud)
您可以使用select
with tail
获得最后2个列名称
library(dplyr)
df %>% select(tail(names(.), 2))
# date2 date3
#1 2016-12-01 2016-12-01
#2 2018-10-01 2016-12-01
#3 <NA> 2016-12-01
#4 <NA> 2016-12-01
Run Code Online (Sandbox Code Playgroud)
在基数R中是
df[tail(names(df), 2)]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1246 次 |
最近记录: |