我有一个数据框架,其中包含数千个项目代码,每个代码代表一种不同类型的研究。下面是一个例子:
Data <- data.frame(Assignment = c("C-209", "B-543", "G-01", "LOG"))作业代码的第一个字母表示研究的类型。C=地图学,B=生物学,G=地质学,LOG =物流。
我想创建一个新的专栏,它查看分配列的第一个字母,并使用它来表示它是研究的类型。
我尝试过类似这个帖子的东西,但我知道我遗漏了一些东西:
R - Creating New Column Based off of a Partial String
Data <- data.frame(Assignment = c("C-209", "B-543", "G-01", "LOG"))
Types <- data.frame(Type = c("Cartography", "Biology", "Geology","Logistic"),
stringsAsFactors = FALSE)
Data %>%
mutate(Type = str_match(Assignment, Types$Type)[1,])发布于 2019-07-12 00:50:41
您可以在您的类型data.frame中添加一个新列Code,然后将其与原始表联接。您还需要在Data data.frame中创建一个Code列。
library(dplyr)
library(stringr)
Data <- data.frame(Assignment = c("C-209", "B-543", "G-01", "LOG"))
Types <- data.frame(Type = c("Cartography", "Biology", "Geology","Logistic"),
Code = c("C","B","G","L"), # Create new column here
stringsAsFactors = FALSE)
Data <- Data %>% mutate(Code = substr(Assignment,1L,1L)) # extract first character
Data <- left_join(Data, Types, by = "Code") %>% select(Assignment, Type) # combinehttps://stackoverflow.com/questions/56993566
复制相似问题