我从vector
中提取了dataframe
。
df
看起来像这样:
from type
23 U
25 U
30 S
32 S
50 T
60 T
和vector
:
vec<-c("23","30","50")
现在,我要搜索vector
中df
定义的值。
如果df
中的值是vector
的一部分,那么我想将type
变量粘贴到from
变量的前面。
我试图用vector
查找dplyr::filter
。
df<-df %>% filter(from %in% vec && type=="U") %>% mutate(from=paste(type,from,sep=""))
现在我不知道如何进行,因为我的方法行不通。不确定if-else
语句是否更合适。
预期结果是:
from type
U23 U
25 U
S30 S
32 S
T50 T
60 T
提前谢谢!
答案 0 :(得分:3)
您可以这样做:
df %>%
mutate(from = ifelse(from %in% vec, paste0(type, from), from))
from type
1 U23 U
2 25 U
3 S30 S
4 32 S
5 T50 T
6 60 T
数据:
df <- read.table(text = "
from type
23 U
25 U
30 S
32 S
50 T
60 T", h =T)
vec<-c("23","30","50")
答案 1 :(得分:1)
您可以轻松完成
df$from[df$from %in% as.numeric(vec)] <- paste0(df$type[df$from %in% as.numeric(vec)],
df$from[df$from %in% as.numeric(vec)])