繁体   English   中英

将二进制列拆分为两列

[英]Split a binary column into two columns

我正在尝试根据 0,1 将二进制列拆分为两个单独的列

     account  
row1 0
row2 1
row3 0
row4 1
row5 0
row6 0

     account_0 | account_1 
row1 0         |  
row2           |  1
row3 0         |
row4           |  1
row5 0         |
row6 0         |

我尝试使用separate功能。 但它需要一个分隔符来分隔列

test=separate(df, col = account, into = c("account_0","account
-1"), sep = ?) [not sure what to pass for the argument "sep"]

View(test)

有人可以帮忙吗?

reshape(transform(df,time=account),dir="wide",idvar = "id")
    id account.0 account.1
1 row1         0        NA
2 row2        NA         1
3 row3         0        NA
4 row4        NA         1
5 row5         0        NA
6 row6         0        NA

read.csv(text = sub("(,1)",',\\1',do.call(paste,c(sep=',',df))),fill=T,h=F)
    V1 V2 V3
1 row1  0 NA
2 row2 NA  1
3 row3  0 NA
4 row4 NA  1
5 row5  0 NA
6 row6  0 NA

假设空出的单元格是空格,这里01也将是字符。 可以使用dplyr完成。 您可以使用select来选择您想要的任何列。 TestData <- fread("RowNumber 帐户
row1 0 row2 1 row3 0 row4 1 row5 0 row6 0")

TestData %>% mutate(account_0  = ifelse(account == 0, "0"," ")) %>% mutate(account_1  = ifelse(account == 1, "1"," "))

   RowNumber account account_0 account_1
1:      row1       0         0          
2:      row2       1                   1
3:      row3       0         0          
4:      row4       1                   1
5:      row5       0         0          
6:      row6       0         0    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM