我认为我至少知道如何形成数据框,但我无法解决我的问题。 我想创建一个数据框,其列名为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来说是全新的,在思想上完全不合逻辑(!),所以所有的帮助都很感激。我无法在网站上找到答案以消除我的困惑。
答案 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