2017-06-15 45 views
0

我已經從網上下載數據,它具有V1,V2等所有列名,我使用setnamesdata.table包更改。
其中一個重命名的變量已結婚。當我運行TABLE語句更改未知類別

table(mydat$Married) 

結果是

? l  u y 
6 2  519 163 

這些都是每個類別OB的#。現在我需要改變?和你進入你和你。我試過

gsub("?","y",mydat) 

但是,這並沒有改變任何東西。我應該如何做到這一點。

+1

可以爲您提供可重複的例子嗎? –

+1

您可能需要執行'gsub(「?」,「y」,mydat $ Married,fixed = TRUE)' –

回答

1

好吧,我們不太瞭解您的數據,但類似的東西應該工作。它使用dplyr的recode函數來更改Married中的值。我創建了一個新變量cat,只是爲了顯示不同之處。

tibble::tibble(
    Married = c("u", "l", "u", "?", "y", "y", "l", "?", "u") 
) %>% dplyr::mutate(cat = dplyr::recode(Married, 
    "l" = "u", 
    "?" = "y" 
)) 

結果:

# A tibble: 9 x 2 
    Married cat 
    <chr> <chr> 
1  u  u 
2  l  u 
3  u  u 
4  ?  y 
5  y  y 
6  y  y 
7  l  u 
8  ?  y 
9  u  u