【问题标题】:replacement has length zero on ave function in R替换在R中的ave函数上的长度为零
【发布时间】:2019-09-09 17:08:36
【问题描述】:

我正在修改几张图片的名称,实际上 length(filename)=length(name) 两者都是大约 140 万个条目,name_idx 有大约 350,000 个条目

filename <- c("1.jpg", "2.jpg" "3.jpg", ...., )
name <- c("a", "b", "c", "c", "a", "b",....,)
name_idx <- c("a", "b", "c", "d", ..., )

我想创建另一个列表,其中包含图片的新名称,第一个条目是 a.1.jpg,第五个是 a.2.jpg,第四个是 c.2.jpg 和以此类推

stackoverflow 中的某个人给了我这个解决方案

paste0(name, ".", ave(name, name, FUN = seq_along), ".jpg")

但我得到了这个错误

Error in x[...] <- m : replacement has length zero

我希望你能帮助我知道这是为什么以及如何解决它?

【问题讨论】:

  • 这里似乎没有任何问题。 name 是否包含 NA 值?
  • 不完全是 NA 而是带有 ñ 或几个空格的单词,这些会影响吗?
  • 可能。特殊字符可能会令人讨厌。我对他们没有太多经验。但如果是这种情况,仅使用 ave(name, name, FUN = seq_along) 对适当元素进行快速测试会让您知道。

标签: r


【解决方案1】:

我终于在 python 中完成了,使用 glob 和 os 库 =3

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多