Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
data.frame中的唯一单词列表_R - Fatal编程技术网

data.frame中的唯一单词列表

data.frame中的唯一单词列表,r,R,我对R很陌生,所以请对我耐心点 我有一个带有列的字符向量,该列以不一致的格式描述疾病和诊断关键词。样本包括: flu fever/feverish fever cold 我正在寻找从中提取所有独特单词的最佳方法。到目前为止,我能想出的最好的方法是给我一个向量向量: [[1]] [[1]][[1]] [1] "flu" [[2]] [[2]][[1]] [1] "fever" "feverish" ... 我通过以下方式实现这一目标: split_words <- function(x

我对R很陌生,所以请对我耐心点

我有一个带有列的字符向量,该列以不一致的格式描述疾病和诊断关键词。样本包括:

flu
fever/feverish
fever cold
我正在寻找从中提取所有独特单词的最佳方法。到目前为止,我能想出的最好的方法是给我一个向量向量:

[[1]]
[[1]][[1]]
[1] "flu"

[[2]]
[[2]][[1]]
[1] "fever" "feverish"
...
我通过以下方式实现这一目标:

split_words <- function(x){ strsplit(x, "[^[:alpha:]]+") }
lapply(diagnoses, split_words)

split_words您可以在
strsplit
之后使用
unlist
来获取包含所有元素的向量,并使用
unique
来获取唯一元素的向量

x <- c("flu", "fever/feverish", "fever cold")
( ul <- unlist(strsplit(x, "\\s+|[[:punct:]]")) )
# [1] "flu"      "fever"    "feverish" "fever"    "cold"  
unique(ul)
# [1] "flu"      "fever"    "feverish" "cold"  
x
#>df
#疾病
#1流感
#2发烧/发烧
#3发烧感冒

udf全部保证小写?拆分并丢弃任何空格或标点符号?你确定“/”或“-”总是不相关的吗?例如,格林-巴利综合征呢?我用“-”和“/”检查了所有术语,实际的regexp有点复杂。但我想简化这个问题。在进入这一阶段之前,我在所有疾病列表中排名较低且独一无二。按选择性标点分开。拆分时间
[,;:]
不要拆分时间
[-/]
# > df
#         illness
#1            flu
#2 fever/feverish
#3     fever cold   


udf <- unlist(strsplit(df$illness, "[^[:alnum:]]"))
# [1] "flu"      "fever"    "feverish" "fever"    "cold"

table(udf)
#udf
#    cold    fever feverish      flu 
#       1        2        1        1