strings.xlsx中的data1具有文本作为行。列名称为“标题”
“快速狐狸跑过桌子”
“快速赤狐跳过狗”
“红狐狸横过马路”
“快速红狗横过马路”
keyword.xlsx中的data2具有关键字:fox
Jump
DOG
cross
road
我想检查data1中的所有data2关键字csv输出文件应具有data1中的“标题”列,并且data2中的所有关键字都应变为具有1和0的列以进行匹配/不匹配
我尝试了以下
library(readxl)
library(openxlsx)
library(tidyverse)
library(data.table)
data1 = read_excel("strings.xlsx")
data1$heading = sapply(data1$heading, tolower) #need the same for keyword.xlsx
v1 <- readxl::read_excel('keywords.xlsx') %>% pull(1)
for(v in v1){
data1 <- data1 %>%
mutate(!! v := as.integer(heading %like% v))
}
我们可以用 map
library(dplyr)
library(purrr)
v1 <- c('vitamin', 'amino')
map_dfc(v1, ~
as.integer(data[['columnname']] %like% .x)) %>%
set_names(v1) %>%
bind_cols(data1, .)
或for
循环
v1 <- c('vitamin', 'amino')
for(v in v1){
data1 <- data1 %>%
mutate(!! v := as.integer(columnname %like% v))
}
如果单词的向量是从excel文件中读取的(假设它是第一列)
v1 <- readxl::read_excel('file.xlsx') %>%
pull(1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句