将子字符串移动到 R 中的字符串末尾
Move substring to end of string in R
我有一组包含大量列的 df。列名称遵循如下模式:
my.df <- data.frame(sentiment_brand1_1 = c(1,0,0,1), sentiment_brand1_2 = c(0,1,1,0),
sentiment_brand2_1 = c(1,1,1,1),
sentiment_brand2_2 = c(0,0,0,0),
brand1_rating_1 = c(1,2,3,4),
brand2_rating_1 = c(4,3,2,1))
我想以编程方式重命名列,将子字符串“brand1”和“brand2”从列名的中间移到末尾,例如:
desired_colnames <- c("sentiment_1_brand1",
"sentiment_2_brand1",
"sentiment_1_brand2",
"sentiment_2_brand2",
"rating_1_brand1",
"rating_1_brand2")
捕获子字符串组并在替换中重新排列
sub("(.*)_(brand1)(.*)", "\1\3_\2", v1)
-输出
[1] "variable_1_brand1" "_stuff_1_brand1" "thing_brand1"
数据
v1 <- c("variable_brand1_1", "_brand1_stuff_1", "_brand1thing")
## Input:
Test <- c("variable_brand1_1", "_brand1_stuff_1", "_brand1thing")
library("stringr")
paste(str_remove(Test, "_brand1"), "_brand1", sep = "")
## OutPut:
[1] "variable_1_brand1" "_stuff_1_brand1" "thing_brand1"
我有一组包含大量列的 df。列名称遵循如下模式:
my.df <- data.frame(sentiment_brand1_1 = c(1,0,0,1), sentiment_brand1_2 = c(0,1,1,0),
sentiment_brand2_1 = c(1,1,1,1),
sentiment_brand2_2 = c(0,0,0,0),
brand1_rating_1 = c(1,2,3,4),
brand2_rating_1 = c(4,3,2,1))
我想以编程方式重命名列,将子字符串“brand1”和“brand2”从列名的中间移到末尾,例如:
desired_colnames <- c("sentiment_1_brand1",
"sentiment_2_brand1",
"sentiment_1_brand2",
"sentiment_2_brand2",
"rating_1_brand1",
"rating_1_brand2")
捕获子字符串组并在替换中重新排列
sub("(.*)_(brand1)(.*)", "\1\3_\2", v1)
-输出
[1] "variable_1_brand1" "_stuff_1_brand1" "thing_brand1"
数据
v1 <- c("variable_brand1_1", "_brand1_stuff_1", "_brand1thing")
## Input:
Test <- c("variable_brand1_1", "_brand1_stuff_1", "_brand1thing")
library("stringr")
paste(str_remove(Test, "_brand1"), "_brand1", sep = "")
## OutPut:
[1] "variable_1_brand1" "_stuff_1_brand1" "thing_brand1"