簡體   English   中英

使用R將數據重新編碼到現有列中

[英]Using R to recode data into the existing column

我有一列稱為CONDITIONALAPPROVAL ,其中充滿了很多字母N 我想將所有這些N重新編碼為0 以下是我正在使用的代碼,但是當僅顯示<NA>后打印列時。

attach(my_data)
my_data$CONDITIONALAPPROVAL[my_data$CONDITIONALAPPROVAL=='N'] <- 0
my_data$CONDITIONALAPPROVAL

看起來很簡單,但它不起作用,當我輸出該列時,應該是<NA> ,這里應該是0 s。

我們可以使用data.table

 library(data.table)
 setDT(my_data, key = "CONDITIONALAPPROVAL")[
    , CONDITIONALAPPROVAL :=  as.character(CONDITIONALAPPROVAL)
        ][("N"), CONDITIONALAPPROVAL := "0"]

首先將變量設置為字符串(實際上,這似乎是一個因素):

my_data$CONDITIONALAPPROVAL <- as.character(my_data$CONDITIONALAPPROVAL)

然后:

my_data$CONDITIONALAPPROVAL[my_data$CONDITIONALAPPROVAL=='N'] <- 0

並且如果需要/相關,則轉換為數字:

my_data$CONDITIONALAPPROVAL <- as.numeric(my_data$CONDITIONALAPPROVAL)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM