我有一个文本(来自带有一行的文本文件),类似于hello world
。
我想在一个看起来像这样的data.frame中转换这个文本。
V1 V2
1 h 0
1 e 1
1 l 0
1 l 0
1 o 1
1 <SPACE> NA
1 w 0
1 o 1
1 r 0
1 l 0
1 d 0
所有val值应为1,所有其他字母值为0且所有值均为NA。
我怎样才能做到这一点?
答案 0 :(得分:2)
您可以使用strsplit
拆分字符串,grepl
找到元音:
mystring <- "hello world"
df <- data.frame(V1 = unlist(strsplit(mystring, "")))
df$V2 <- as.numeric(grepl("[aeiou]", df$V1))
>df
# V1 V2
#1 h 0
#2 e 1
#3 l 0
#4 l 0
#5 o 1
#6 0
#7 w 0
#8 o 1
#9 r 0
#10 l 0
#11 d 0
如果您要0
替换NA
V1
中的空单元格,可以使用ifelse
:
df$V2 <- ifelse(df$V1 == " ", NA, df$V2)