使用 NA 索引从数据框中选择列时如何创建空列?

Moh*_*mad 4 r dataframe

这就是我的意思:

indexes=c(1,NA,4)
Run Code Online (Sandbox Code Playgroud)

现在,如果我执行以下操作,显然会因为 NA 而出现错误:

mpg[,indexes]
Run Code Online (Sandbox Code Playgroud)

所以对于 NA 索引,我需要一个空列,换句话说,我想看到:

manufacturer  unknown   year
     audi        ""     1999
     audi        ""     1999
     ...         ...     ...
Run Code Online (Sandbox Code Playgroud)

M--*_*M-- 6

您可以tibble:add_column为此目的使用;我在这里使用 iris 数据库:

df <- iris[,c(1,4)]
V2df <- tibble::add_column(df, unknown = "", .after = 1)
Run Code Online (Sandbox Code Playgroud)

您也可以使用dplyr::mutate.

require(dplyr)
V2df <- mutate(iris[,c(1,4)], unknown = "")[,c(1, 3, 2)]
Run Code Online (Sandbox Code Playgroud)

输出将是:

> (head(V2df))

#   Sepal.Length unknown Petal.Width 
# 1          5.1                 0.2 
# 2          4.9                 0.2 
# 3          4.7                 0.2 
# 4          4.6                 0.2 
# 5          5.0                 0.2 
# 6          5.4                 0.4
Run Code Online (Sandbox Code Playgroud)