我有以下数据框
head(data)
Date Avg.Join.Delay Min.Join.Dely Max.Join.Dely ACCOUNT STB_TYPE MARKET
1 6/5/2015 500 500 500 3036831961 IPH8005 Denver
2 6/5/2015 500 500 500 3038416736 IPH8005 Denver
3 6/5/2015 500 500 500 4802192190 IPH8005 Phoenix
4 6/5/2015 500 500 500 4802193088 IPH8005 Phoenix
5 6/5/2015 500 500 500 4802795632 IPH8005 Phoenix
6 6/5/2015 500 500 500 4803611713 IPH8005 Phoenix
我想将帐号更改为城市/州(303 =科罗拉多州),但我不确定这种脚本的正确语法是什么。
我尝试了data$ACCOUNT[data$ACCOUNT == "303%"] <- "Colorado"
,但它并没有改变价值。
知道如何以一种方式改变以xxx
开头的所有值吗?
答案 0 :(得分:1)
您可以尝试使用substr
提取前3个字符
data$ACCOUNT[substr(data$ACCOUNT,1,3)=='303'] <- 'Colorado'
或使用sub
data$ACCOUNT[sub('(.{3}).*', '\\1',data$ACCOUNT)=='303'] <- 'Colorado'
或grep
data$ACCOUNT[grepl('^303', data$ACCOUNT)] <- 'Colorado'