如何使用 get() 调用 R 函数中的变量?
How to use get()to call on a variable in a function in R?
我正在尝试在函数中使用 get()。有时有效,有时无效。数据为:
ID<-c("001","002","003","004","005","006","007","008","009","010","NA","012","013")
Name<-c("Damon Bell","Royce Sellers",NA,"Cali Wall","Alan Marshall","Amari Santos","Evelyn Frye","Kierra Osborne","Mohammed Jenkins","Kara Beltran","Davon Harmon","Kaitlin Hammond","Jovany Newman")
Sex<-c("Male","Male","Male",NA,"Male","Male",NA,"Female","Male","Female","Male","Female","Male")
Age<-c(33,27,29,26,27,35,29,32,NA,25,34,29,26)
data<-data.frame(ID,Name,Sex,Age)
它在某些代码中有效:
FctPieChart <- function(data,Var){
dVar <- data %>%
filter(!is.na(get(Var))) %>%
group_by(get(Var)) %>% #changes the name of the column to "`get(Var)`"
summarise(Count = n()) %>%
mutate(Total = sum(Count), Percentage = round((Count/Total),3))
}
FctPieChart(data,"Sex")
它在其他一些代码中不起作用:
FctPieChart <- function(data,var){
x <- data %>%
select(get(var))
x
}
FctPieChart(data,"Sex")
它说:
<error/simpleError>
object 'Sex' not found
有人知道为什么吗?
非常感谢您!
此致,
斯蒂芬妮
有了 dplyr::select()
,您就不需要使用 get()
。而只是使用select(var)
> FctPieChart <- function(data,var){
x <- data %>%
select(var)
x
}
> FctPieChart(data,"Sex")
Sex
1 Male
2 Male
3 Male
4 <NA>
5 Male
6 Male
7 <NA>
8 Female
9 Male
10 Female
11 Male
12 Female
13 Male
我正在尝试在函数中使用 get()。有时有效,有时无效。数据为:
ID<-c("001","002","003","004","005","006","007","008","009","010","NA","012","013")
Name<-c("Damon Bell","Royce Sellers",NA,"Cali Wall","Alan Marshall","Amari Santos","Evelyn Frye","Kierra Osborne","Mohammed Jenkins","Kara Beltran","Davon Harmon","Kaitlin Hammond","Jovany Newman")
Sex<-c("Male","Male","Male",NA,"Male","Male",NA,"Female","Male","Female","Male","Female","Male")
Age<-c(33,27,29,26,27,35,29,32,NA,25,34,29,26)
data<-data.frame(ID,Name,Sex,Age)
它在某些代码中有效:
FctPieChart <- function(data,Var){
dVar <- data %>%
filter(!is.na(get(Var))) %>%
group_by(get(Var)) %>% #changes the name of the column to "`get(Var)`"
summarise(Count = n()) %>%
mutate(Total = sum(Count), Percentage = round((Count/Total),3))
}
FctPieChart(data,"Sex")
它在其他一些代码中不起作用:
FctPieChart <- function(data,var){
x <- data %>%
select(get(var))
x
}
FctPieChart(data,"Sex")
它说:
<error/simpleError>
object 'Sex' not found
有人知道为什么吗?
非常感谢您!
此致,
斯蒂芬妮
有了 dplyr::select()
,您就不需要使用 get()
。而只是使用select(var)
> FctPieChart <- function(data,var){
x <- data %>%
select(var)
x
}
> FctPieChart(data,"Sex")
Sex
1 Male
2 Male
3 Male
4 <NA>
5 Male
6 Male
7 <NA>
8 Female
9 Male
10 Female
11 Male
12 Female
13 Male