r - 有没有更简单的方法来编写这个排序代码?
问题描述
我有一个包含 196 个字符串的列表,格式为2009/EPS.WCR.PL6.MAIS.0036、2016/EPS.WCR.PL6.NORM.0077等。不同的是年份日期和末尾的四个数字。还有NORM或MAIZE。我想通过这个列表并提取这些信息来创建某种距离矩阵。到目前为止,我编写的代码如下:
c(substr(df[i,3], 1, 4),substr(df[1,3], 18, 21),substr(df[i,3], 22, nchar(df[i,4]))),
其中 df 是这些分类变量的列表。
我在列表中循环的地方。有没有一种很好的方法可以根据我提取的信息位来确定这些字符串之间的距离?
先感谢您。
解决方案
如果您的数据始终具有相同的结构,请尝试:
data <- c("2009/EPS.WCR.PL6.MAIS.0036", "2016/EPS.WCR.PL6.NORM.0077")
str(data)
substr(data, start = 1, stop = 4)
substr(data, start = 18, stop = 21)
substr(data, start = 23, stop = 26)
推荐阅读
- firebase - 侦听查询中第一个元素的 Firestore 安全规则
- google-cloud-platform - gcloud:显示 SimulateMaintenanceEvent 的配额限制
- javascript - 用于 6.3 到 6.5 AEM 升级的迁移工作流模型和脚本,脚本没有被拾取
- java - 如何将字符串返回为json格式
- ajax - 更新主题选项后如何更新 Woocommerce 购物车会话?
- qt - QT 多线程中 UI 显示的延迟
- .net - Serilog Map sink 日志文本
- android - 三星设备 4 和 5 中的拍照图像加载问题
- ruby-on-rails - 在 OSX catalina(10.15.1) 中使用 rbenv 安装 ruby-2.4.0 时构建失败(OS X 10.15.1 使用 ruby-build 20191124)
- c++ - 为我的 ESP32 服务器分配静态 IP 后不再响应