我创建的列显然是 "undefined"?

Column I've created is apparently "undefined"?

我的代码如下。我根据另一列包含从 1 到 5 的整数创建了一个列“度”。

我下面的代码似乎可以工作,因为该列已成功创建。但是,当我根据“度数”列调用任何代码时,我得到 NULLL str(my_data$degree)

my_data %>%
mutate(degree = case_when(edcat > 3 ~ "1",                                 
 edcat <=3 ~ "0") )

这是我在任何代码中使用“学位”时得到的结果,尽管我可以看到该列已成功创建:

Error in [.data.frame(my_data, , "degree"): undefined columns selected
Traceback:

1. factor(my_data\[, "degree"\])
2. my_data\[, "degree"\]
3. [.data.frame(my_data, , "degree")
4. stop("undefined columns selected")

当您想使用新计算更新(覆盖)数据框时,只需像使用变量一样使用 <-。但是,最好保存在一个新的 df 中以检查结果并保留原始副本(供初学者比较输入和输出) 这里我保存在my_result中。或者改用 my_data <-

my_result<- my_data %>%
mutate(degree = case_when(
 edcat > 3 ~ "1",                                 
 edcat <=3 ~ "0"))

或者,如果您在下一个进程中使用相同的 df:

my_data<- my_data %>%
    mutate(degree = case_when(
     edcat > 3 ~ "1",                                 
     edcat <=3 ~ "0"))

带有 edcat 的示例数据:

my_data <- data.frame('edcat'= c(1,2,3,5,6,8))
my_data <- my_data%>%mutate(degree = case_when(
  edcat > 3 ~ "1",                                 
  edcat <=3 ~ "0"))

my_data

  edcat degree
1     1      0
2     2      0
3     3      0
4     5      1
5     6      1
6     8      1

现在您可以以任何方式使用它,比如度数:

my_data%>%group_by(degree)%>%summarise(N=n())
# A tibble: 2 x 2
  degree     N
  <chr>  <int>
1 0          3
2 1          3

但这一切都是基本的。请检查学习 dplyr 的好资源,例如 Hadley Wickams R 4 Data Science