【问题标题】:How to separate a imported vector into colums in R?如何将导入向量分成 R 中的列?
【发布时间】:2020-04-21 22:55:04
【问题描述】:

我有一个仅在单列中包含数字的文本文件。

我需要将它们分开并分配给我拥有的 8 个名称中的一个,每个名称的数字范围。 例如我有数字 1,2,3,4,5,6,7,8,9,10 和 例如,我知道 1:5 是伦敦,6:1 是纽约。

如何创建两列,其中一列将是 London - 1... London -5, New York - 6...New York - 10。很抱歉,如果这很明显我是 R 新手。

【问题讨论】:

  • 这个问题听起来有点奇怪,我不确定我是否读对了这个问题。你的数字实际上是 1 到 10 还是那些指数?我认为如果您澄清这一点并添加一些换行符以使您的问题更易于阅读,这将有所帮助。 (可惜我不懂R,所以无法直接回答。)

标签: r dataframe rstudio


【解决方案1】:
require("readr")

x3_01_2020 <- read_csv("~/x3_01_2020.txt", col_names = FALSE)

x3_01_2020$city <- c(rep("London", 5), rep("New York", 5))

【讨论】:

    【解决方案2】:

    您可以制作一个查找表并将数字加入其中。

    set.seed(433)     # For reproducibility
    # Make a dataframe with city in one col, associated #'s in other
    dt <- dat <- data.frame(city = c(rep('new york', 5), rep('london', 5)), number = 1:10)
    
    #example data of #'s 1-10 as a vector
    your_data_vector <- as.vector(sample(1:10, 10, replace = T))
    
    #change your data to a dataframe
    your_data_df <- as.data.frame(your_data_vector)
    
    #then left-join with your data
    dplyr::left_join(your_data_df, dt, by = c('your_data_vector' = 'number'))
    

    应该给你:

       your_data_vector     city
    1                 6   london
    2                 4 new york
    3                 1 new york
    4                 2 new york
    5                 6   london
    6                 7   london
    7                 8   london
    8                 1 new york
    9                10   london
    10                9   london
    

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 2016-09-15
      • 2021-06-13
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多