R中的错误:我应该使用rep但我已经做过

问题描述

我在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()以确保即使7个不是4的倍数,颜色也可以重复。但是,我仍然收到以下错误

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))

我真的很乐于助人,脚本是自动化的,但是现在却给我这个错误。 我刚刚切换到新计算机,问题可能出在此版本或那个版本不正确。

谢谢!

解决方法

您可以使用rep_len

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...