2013-08-26 33 views
4

對不起,對於這個簡單的問題,我沒有在我的搜索中找到適合的解決方案。我想在我的數據框中創建一個新列,並用1到100之間的隨機數填充(可以重複)。創建一個填充了隨機數的新列

下面是代碼我目前使用,

data$newrow <- rep(1:100,replace=T, nrow(data))

我收到此錯誤:

Error in `$<-.data.frame`(`*tmp*`, "newrow", value = c(1L, 2L, : 
    replacement has 2088800 rows, data has 20888` 

你能不能幫我解決我的代碼?

+0

data $ newrow < - sample(1:100,replace = T,nrow(data)) – statquant

+1

您似乎在混合函數。 'rep'絕不是隨機的,它沒有你正在使用的參數。你很可能在尋找'sample'或'runif'。 – A5C1D2H2I1M1N2O1R2T1

+0

您需要使用'set.seed(1)'來獲得重現性。 – Metrics

回答

11
data$newrow <- sample(100, size = nrow(data), replace = TRUE)