【问题标题】:Error in R: I should use rep() but I already do [duplicate]R中的错误:我应该使用rep()但我已经这样做了[重复]
【发布时间】:2020-09-07 17:15:22
【问题描述】:

我在 R 中使用了一个小代码:

dat$colour<-rep(rainbow(4)) #you get a warning if you not have a multiple of 4 records, but that is ok.

dat 由七行组成。我已经包含rep() 以确保即使七不是四的倍数也可以重复颜色。但是,我仍然收到以下错误:

Error in set(x, j = name, value = value) : Supplied 4 items to be assigned to 7 items of column 'colour'. If you wish to 'recycle' the RHS please use rep() to make this intent clear to readers of your code.

复制:

dat <- data.table('Year' = c(2010, 2011, 2012, 2013, 2014, 2015, 2016))
dat$colour<-rep(rainbow(4))

我真的很重视帮助,脚本是自动化的,但现在给了我这个错误。 我刚换了一台新电脑,问题可能出在这个或那个版本不正确。

谢谢!

【问题讨论】:

    标签: r rep


    【解决方案1】:

    你可以使用rep_len:

    dat$colour <- rep_len(rainbow(4), nrow(dat))
    

    【讨论】:

    • 谢谢,确实有效!但是为什么我什至会收到错误消息?脚本用了很久没见过
    • 如果nrow(dat) %% 4 == 0,您的脚本将在rainbow(4) 的情况下正常工作,因为它会自动复制。
    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 2021-06-29
    • 2022-01-09
    • 2016-12-31
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多