【发布时间】:2020-03-18 18:36:14
【问题描述】:
我是 R 的新用户,有一个非常基本的问题。我正在尝试使用 dplyr 选择功能删除列。它似乎运行正确,但是当使用 head 查看数据时,仍会出现已删除的列,并且仍然可以在此列上运行计数。我在一个非常简单的测试数据集上运行了它,输出如下。请告知如何从数据中永久删除列。谢谢
> library(dplyr)
> setwd("C:/")
> mydata <- read_csv("test.csv")
Parsed with column specification:
cols(
Age = col_double(),
Gender = col_character(),
`Smoking Status` = col_character()
)
> head(mydata)
# A tibble: 4 x 3
Age Gender `Smoking Status`
<dbl> <chr> <chr>
1 18 M Smoker
2 25 F Non-smoker
3 40 M Ex-smoker
4 53 F Non-smoker
> select(mydata,-Age)
# A tibble: 4 x 2
Gender `Smoking Status`
<chr> <chr>
1 M Smoker
2 F Non-smoker
3 M Ex-smoker
4 F Non-smoker
> head(mydata)
# A tibble: 4 x 3
Age Gender `Smoking Status`
<dbl> <chr> <chr>
1 18 M Smoker
2 25 F Non-smoker
3 40 M Ex-smoker
4 53 F Non-smoker
> mydata %>%
+ count(Age)
# A tibble: 4 x 2
Age n
<dbl> <int>
1 18 1
2 25 1
3 40 1
4 53 1
【问题讨论】:
-
你没有分配任何东西。
dplyr函数(以及 R 中的许多函数)不会就地进行更改。如果要使mydata=select(mydata, -Age),则必须使用<-或=分配它 -
欢迎来到 Stackoverflow。请记住,帖子需要正确编辑。这对于代码尤其重要。看看here。