代码之家  ›  专栏  ›  技术社区  ›  ecology

基于R中随机生成数集的子集列

  •  -1
  • ecology  · 技术社区  · 2 年前

    我想生成一组1000个介于1和20000之间的随机数,然后用它们来子集一个数据帧。

    sample.int(20000, 2000, replace = TRUE) 
    

    df_sub <- df[,c(65,25,1,6000,1056, ...)]
    

    这可能吗?

    2 回复  |  直到 2 年前
        1
  •  1
  •   langtang    2 年前

    例如,要随机选择1到20000之间的1000行(替换):

    df[sample(1:20000, 1000, replace=T),]
    
        2
  •  0
  •   parmsam    2 年前

    可以使用clipr将向量写入剪贴板。

    library(dplyr)
    s <- sample.int(20000, 2000, replace = TRUE)
    vectorToCopy <- s %>%
      stringr::str_c(",", collapse=" ") %>% # sep each element by comma
      stringr::str_sub(., 1, nchar(.)-1) %>% # remove last comma
      str_c("c(", ., ")") # add parentheses
    clipr::write_clip(vectorToCopy) # write to clipboard