2017-06-21 24 views
-1

I持って(現実にはより多くの行)次の表:私は国の名前を変更したい名前変更列/変数値

country   sessions  rank  
United Kingdom 100846  1  
Spain    80628  2  
Italy    7628  3  
USA    6628  4  
France    1328  5  
China    1228  6  
Japan    1128  7  
Russia    1028  8  
Japan    928  9  
Greece    828  10 
Colombia   728  11  
Brasil    628  12  
Portugal    28  13 

FranceChinaJapanRussia、... PortugalOtherとする。 行番号やランク、セッションなどの条件でこれらの国の名前を変更する方法はありますか? ありがとうございます

+0

'DFの$国< - GSUB( "ポルトガル|フランス|中国|日本|ロシア"、 "その他"、DFの$国)50カ国のような私が持っている' – emilliman5

+0

より後ポルトガル私も他の名前に変更したい –

+0

名前を変更する基準は何ですか? –

答えて

0
some.table %>% 
    mutate(country = ifelse(rank <= 4, country, "Other")) 
+0

ありがとうございます!ベツティフル –

1

これはそれを行う必要があります。

df$country <- ifelse(df$session < 1300, "Other", df$country) 
0

と仮定すると、国は因子変数である、ベースRに、あなたはこの目標を得るために、二回サブセット[と一緒levels<-を使用することができます。そのセッション< 1300> 5

levels(dat$country)[dat$country][dat$rank > 5] <- "Other" 

最初[[dat$country]をランク付け基準を用いて

levels(dat$country)[dat$country][dat$sessions < 1300] <- "Other" 

基準を用いて

は、データの順序に合わせてレベルを並べ替え。第2のフレームは、所望の基準に基づいてサブセットを実行する。

データ

dat <- 
structure(list(country = structure(c(11L, 10L, 6L, 12L, 4L, 2L, 
7L, 9L, 7L, 5L, 3L, 1L, 8L), .Label = c("Brasil", "China", "Colombia", 
"France", "Greece", "Italy", "Japan", "Portugal", "Russia", "Spain", 
"United Kingdom", "USA"), class = "factor"), sessions = c(100846L, 
80628L, 7628L, 6628L, 1328L, 1228L, 1128L, 1028L, 928L, 828L, 
728L, 628L, 28L), rank = 1:13), .Names = c("country", "sessions", 
"rank"), class = "data.frame", row.names = c(NA, -13L))