选择随机元素以及R中第20/40行以外的元素?

选择随机元素以及R中第20/40行以外的元素?,r,csv,R,Csv,抱歉,如果这是一个有点愚蠢的问题,我对R 我在csv文件的一列中有大约3000个数据集。我已经在中导入了数据,现在我要做的是创建一个200个向量的样本,其中有3个值,随机选择的行中的值,该行下20行中的值,以及下40行中的值 例如,如果选择的值在第1行,我希望向量看起来像 v=(第一行的值、第21行的值、第41行的值) 我使用了sample(“dataset”,200),它给了我想要的200个随机值,但我希望每个值都有下面20行和40行中的两个对应值 关于我能做什么,有什么建议吗?如果你不介意复

抱歉,如果这是一个有点愚蠢的问题,我对R

我在csv文件的一列中有大约3000个数据集。我已经在中导入了数据,现在我要做的是创建一个200个向量的样本,其中有3个值,随机选择的行中的值,该行下20行中的值,以及下40行中的值

例如,如果选择的值在第1行,我希望向量看起来像

v=(第一行的值、第21行的值、第41行的值)

我使用了
sample(“dataset”,200)
,它给了我想要的200个随机值,但我希望每个值都有下面20行和40行中的两个对应值


关于我能做什么,有什么建议吗?

如果你不介意复制,那么下面的方法应该有效:

x <- 1:3000 # Your data
set.seed(123) # Only for reproducibility purposes

s <- sort(sample(2960, size=200))  # Sample indicies (sorting is optional)
i <- c(s, s+20, s+40)  # Add the 20th and 40th values further down
sam <- x[i]  # Select the values using the indicies

head(sort(sam))
[1] 13 33 41 53 61 81
set.seed(123)
s <- sort(sample(2960, size=200))
sam1 <- x[s]
sam20 <- x[s+20]
sam40 <- x[s+40]
sam <- as.vector(rbind(sam1, sam20, sam40))
head(sam)
# [1] 13 33 53 41 61 81

如果您希望按照所述的顺序订购,那么这应该可以:

x <- 1:3000 # Your data
set.seed(123) # Only for reproducibility purposes

s <- sort(sample(2960, size=200))  # Sample indicies (sorting is optional)
i <- c(s, s+20, s+40)  # Add the 20th and 40th values further down
sam <- x[i]  # Select the values using the indicies

head(sort(sam))
[1] 13 33 41 53 61 81
set.seed(123)
s <- sort(sample(2960, size=200))
sam1 <- x[s]
sam20 <- x[s+20]
sam40 <- x[s+40]
sam <- as.vector(rbind(sam1, sam20, sam40))
head(sam)
# [1] 13 33 53 41 61 81
set.seed(123)

s如果选择的值在第2990行,那么期望的向量是什么?好吧,就是这样,我希望随机选择的值来自前2960行,这样我就有了2个对应的值。你接受重复吗?所选数字(向量中的第一个条目)没有重复项,但是,如果一个选定数字后的第20行成为另一个向量的第一个条目,那就好了。这听起来确实让人困惑,我知道,对不起。比如说,v1=(第11个条目,第31个条目,第41个条目),v2=(第31个条目,第51个条目,第71个条目)可以作为两个单独的向量。我正想问我该怎么做,我用你的代码得到我想要的值,非常感谢,顺便说一句。像这样的订购将极大地帮助我构建向量,它提供了我想要的东西,非常感谢。