数据框中的随机数据:创建困难

时间:2015-01-03 12:10:54

标签: r

我认为我至少知道如何形成数据框,但我无法解决我的问题。 我想创建一个数据框,其列名为ID,Col1到5,并在每个行中填充一个ID号为759到755,以及五个随机选择的数字,介于1和9之间。如下所示:

ID  N1  N2  N3  N4  N5  
759  2  7   1   5   3  
758  3  7   9   8   2  
.   .   .

我尝试了各种方法,但要么改变列名,要么与向量相比出现列数错误。 我最近的“努力”

df<- data.frame(row.names =NULL)
df[1,] <-c(759, sample(1:9, 5)
colnames(df) = c("ID","N1", "N2", "N3", "N4", "N5")

最终,我想迭代数据,找出何时以及多久前发生的数据点。 ID可以替换为日期。我对R来说是全新的,在思想上完全不合逻辑(!),所以所有的帮助都很感激。我无法在网站上找到答案以消除我的困惑。

2 个答案:

答案 0 :(得分:2)

您可以随时执行以下操作:

df <- cbind( 759:755, t(replicate(5, sample(1:9, 5))))
df <- as.data.frame( df )
colnames(df) = c("ID", paste0("N",1:5) )
   ID N1 N2 N3 N4 N5
1 759  6  8  5  3  2
2 758  4  2  3  1  6
3 757  5  7  4  8  3
4 756  5  2  4  6  3
5 755  6  2  8  4  1

您应该查看sample(1:9, 5)sample(1:9, 5, replace = TRUE)

之间的区别

答案 1 :(得分:0)

喜欢这个吗?

cbind(ID = 759:755, as.data.frame(matrix(sample(1:9, 5*5, replace = TRUE), ncol = 5)))
   ID V1 V2 V3 V4 V5
1 759  5  5  6  3  9
2 758  3  4  1  4  7
3 757  2  3  7  2  5
4 756  1  2  3  6  2
5 755  9  9  8  7  8