【发布时间】:2018-12-10 20:56:29
【问题描述】:
我有一个这样的数据框
X <- data.frame(value = c(1,2,3,4,5,6),
variable = c("AA", "ab", "BB", "ad", "da", "DD"))
我试图有条件地在所有变量上添加一个字符前缀,以便生成的数据框是这样的(当我们有大写字母时以 G 为前缀,当我们有小写字母时以 M 为前缀)
1 GAA
2 Mab
3 GBB
4 Mad
5 Mda
6 GDD
我试着写一个函数来实现,看起来像这样
prefix <- function(raw_data)
{
if(raw_data$Members %like% "^[a-z]") {
raw_data$Members = paste0('M', raw_data$Members)
}
else {if(raw_data$Members %like% "^[A-Z]")
{
raw_data$Members = paste0('G', raw_data$Members)
}
}
}
它要么只是 G 前缀,要么只是 M 前缀。请帮助我确定这个函数有什么问题,或者是否有更好的方法来做到这一点。
【问题讨论】: