我创建的列显然是 "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
我的代码如下。我根据另一列包含从 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