首页 > 解决方案 > 如何将导入的向量分隔为 R 中的列?

问题描述

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

我需要将它们分开并分配给我拥有的 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 新手。

标签: rdataframerstudio

解决方案


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

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

推荐阅读