在数据集中,我有一列包含字母的数据,如下所示:
我想为col1中包含的每个不同字母创建一个列,并将这些列设置为TRUE/FALSE,如下所示:
但问题是我有25个不同的字符。所以为了识别每一列中包含的不同字符,我已经有了所需的函数:
但是我在根据这个字符列表创建列的时候遇到了困难。
d = data.frame(col1 = c("ABC", "CDE","ACE","BDF"))
d
col1
1 ABC
2 CDE
3 ACE
4 BDF
我想为col1中包含的每个不同字母创建一个列,并将这些列设置为TRUE/FALSE,如下所示:
col1 A
1 ABC TRUE
2 CDE FALSE
3 ACE TRUE
4 BDF FALSE
但问题是我有25个不同的字符。所以为了识别每一列中包含的不同字符,我已经有了所需的函数:
find.characters <- function(v1){
x1 <- unique(unlist(strsplit(v1, '')))
indx <- grepl('[A-Z]', x1)
c(sort(x1[indx]), sort(x1[!indx]))
}
find.characters(d$col1)
[1] "A" "B" "C" "D" "E" "F"
但是我在根据这个字符列表创建列的时候遇到了困难。