簡體   English   中英

如何用1和0覆蓋R中的一列字符?

[英]How do I overwrite a column of characters in R with 1s and 0s?

我需要將數據的列之一轉換為二進制值。 如果有空格,我試圖插入0,如果有一個字符串,我試圖插入1。

我的數據目前看起來像這樣:

Name     Code
Bob      
Joe     f59tuc
Anna    
Kylie
Jill    hyt618
Ben     skt310

我試圖將其轉換為:

name     code
Bob       0
Joe       1
Anna      0
Kylie     0
Jill      1
Ben       1

我嘗試了這個if語句,但是得到了錯誤。 我是R的新手,對if語句,while循環,for循環等有很少的經驗 - 所以在代碼中可能會有一些我沒想到的明顯錯誤。 非常感激任何的幫助。

if (df$code[df$code == ""]) {
    df$code[df$code] <- 0
} 
else {
    df$code[df$code] <- 1
}

只需df$code <- as.numeric(df$code != '')就足夠了。

如果您確實需要使用if,那么

df$code[df$code == ""] <- 0

設置0就足夠了,因為df$code == ""會給你一個bool矢量,這些可以選擇你想要分配0的條目。

暫無
暫無

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

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