有没有更简单的方式编写此排序代码?

时间:2018-11-13 11:06:15

标签: r list sorting

我有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是这些分类变量的列表。

我在列表中循环的地方。是否有一种很好的方法可以根据我提取的信息位来确定这些字符串之间的距离?

谢谢。

2 个答案:

答案 0 :(得分:0)

如果您的数据结构始终相同,请尝试:

    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)

答案 1 :(得分:0)

以下函数使用CRAN包stringdist来计算其第一个参数中的字符串之间的距离。您可以通过自己选择的<capture-output/>,请参阅帮助页面<capture-output/>

method