首页 > 解决方案 > 在R中如何将字符串转换为数据框中的数字

问题描述

我想将数据框的值转换为存在/不存在矩阵。例如,更改此数据框:

mat1<-rbind(c("ABY","ABY",NA,"ABY"),
      c("XWQ","RTY","RTY_U","XWQ"),c(NA,"UYT_W","WRT",NA),
      c("JUT",NA,NA,"JUT"))

as.data.frame(mat1)
rownames(mat1)<-c("A.1","A.2","B.1","B.2")
colnames(mat1)<-c("a","b","c","d"); mat1

    a     b       c       d    
A.1 "ABY" "ABY"   NA      "ABY"
A.2 "XWQ" "RTY"   "RTY_U" "XWQ"
B.1 NA    "UYT_W" "WRT"   NA   
B.2 "JUT" NA      NA      "JUT"

所以所有NA元素都是0,所有非NA元素都是1,因此mat1只有1和0组成。我会对 tidyverse 解决方案感兴趣。

标签: rtidyr

解决方案


推荐阅读