r - 如何将导入的向量分隔为 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 新手。
解决方案
您可以制作一个查找表并将数字加入其中。
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
推荐阅读
- c++ - 如何将我的每个向量字符串转换为纪元时间日期
- c# - Asp.Net Core 3.0 MVC Identity 添加角色问题
- c# - 如何使用 NUnit 同时断言多个变量?
- python - 如何将节点添加到链表?
- python - 从包含数百万个文件的目录 (bash/python/perl) 中通过精确匹配有效地查找数千个文件
- c++ - C++ 自己的堆栈对象。push() 中复制了什么?
- mongodb - 聚合 $lookup 对象数组
- python - 使用张量流梯度磁带的内存不足OOM,但仅在我附加列表时发生
- javascript - 如何为画布 HTML 的文本和背景设置不同的颜色?
- docker - Docker compose Volume - 上传的文件