You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何将期刊描述符字符串转换为二进制向量用于聚类

核心思路

你之前的代码失效原因是Categories4dist列存储的是空格拼接的多分类字符串,没有拆分为独立的分类单元,直接用完全匹配逻辑即可避免你担心的子串误匹配问题,不需要用到grep类的模糊匹配。

单条记录转换示例

# 把单条多分类字符串拆分为独立分类向量
single_cats <- unlist(strsplit(journals_STEM$Categories4dist[1], split = " "))
# 生成266维0/1向量,完全匹配避免子串误判
binary_vec <- as.numeric(isolated_cat %in% single_cats)

批量转换为聚类可用的二进制矩阵

直接批量处理整列,输出的矩阵每行对应一个期刊,每列对应isolated_cat中的分类,可直接用于后续PCA、聚类计算:

binary_matrix <- t(sapply(journals_STEM$Categories4dist, function(x) {
  # 用\\s+匹配任意长度空白,避免多空格、制表符导致的拆分错误
  current_cats <- unlist(strsplit(x, split = "\\s+"))
  as.numeric(isolated_cat %in% current_cats)
}))

# 给矩阵列名绑定分类名,方便后续结果解读
colnames(binary_matrix) <- isolated_cat

如果需要把二进制特征合并回原数据框,直接用cbind(journals_STEM, binary_matrix)即可。


内容的提问来源于stack exchange,提问作者Cris Urdiales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:54:00