将多个布尔列转换为单因子列 [英] Converting multiple boolean columns to single factor column
本文介绍了将多个布尔列转换为单因子列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的数据框如下:
A S1 S2 S3 S4
1 ex1 1 0 0 0
2 ex2 0 1 0 0
3 ex3 0 0 1 0
4 ex4 1 0 0 0
5 ex5 0 0 0 1
6 ex6 0 1 0 0
7 ex7 1 0 0 0
8 ex8 0 1 0 0
9 ex9 0 0 1 0
10 ex10 1 0 0 0
我需要将其作为单个因素列表,例如:
i need to have it as a single factor list like:
A Type
ex1 S1
ex2 S2
ex3 S3
ex4 S1
ex5 S4
ex6 S2
ex7 S1
ex8 S2
ex9 S3
ex10 S1
有人帮我解决问题吗?
推荐答案
假设d
是数据,则可以使用
Assuming d
is the data, the new column could be obtained with
d$type <- names(d[-1])[apply(d[-1] == 1, 1, which)]
d[c(1, 6)]
# A type
# 1 ex1 S1
# 2 ex2 S2
# 3 ex3 S3
# 4 ex4 S1
# 5 ex5 S4
# 6 ex6 S2
# 7 ex7 S1
# 8 ex8 S2
# 9 ex9 S3
# 10 ex10 S1
这篇关于将多个布尔列转换为单因子列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文