r - 如何使用 r 中的虚拟变量创建分类变量?
问题描述
案例1:0、0、0、0、1、1、1、1、0、0
案例2:1、1、0、0、1、0、0、0、1、0
案例3:0、1、0、0、0、1、1、0、0、1
我想从上表中得到以下向量。
答案:2、混合、0、0、混合、混合、混合、1、2、3
如何在 r 中解决上述问题?
解决方案
我做了自己的功能来解决上述问题。
我希望它能帮助和我有同样问题的人。
dummy_to_cate <- function(mydata,column_area){
result_vec <- NA
vec_q=NA
colname <- colnames(mydata)
result_vec[is.na(mydata[,column_area[1]])==FALSE]<-paste(colname[1])
for (i in column_area[-1]) {
vec_q[is.na(mydata[,column_area[i]])==FALSE] <-1
vec_q[is.na(mydata[,column_area[i]])==TRUE] <-0
result_vec[vec_q==1 & is.na(mydata[,column_area[1]])==TRUE]<- paste(colname[i])
}
df<-is.na(mydata[,column_area])==FALSE
result_vec[rowSums(df)>= 2]<-'mix'
return(result_vec)
}
推荐阅读
- wordpress - WordPress 灯箱库:将文字链接打开到图片库
- excel - 将行切片在一起
- mysql - 非法混合排序规则 (utf8mb4_unicode_ci,COERCIBLE) 和 (utf8mb4_general_ci,COERCIBLE) 用于“like”操作
- batch-file - 批处理文件将 findstr 输出中的数字放入 IF 语句的变量中?
- javascript - javascript中声明的类存储在哪里?
- sql - 使用 SSIS 将具有多个表的单个 mdb 文件动态导入 SQL Server?
- php - 在 Laravel Blade 中无法获得对象参数
- mongodb - 更新引用集合后检索文档的最有效方法
- list - 如何对 DList 进行排序?
- distributed-computing - 检查是否所有 QueryCaches 从 Hazelcast 集群中的 IMap 接收更新