从 r 中的字符列中提取最后 n 个字符
extracting last n characters from a character column in r
我有一个 data.frame
(比方说 x
)和一个 character
列。我正在尝试从该列中提取最后 n
(比方说 3
)个字符,并在同一 data.frame
中创建一个新列。我正在尝试这样做:
library(dplyr)
x <- x %>% mutate(new_col=substr(old_col, nchar(old_col)-3+1, nchar(old_col)))
错误信息:
Error in mutate_impl(.data, dots) : Evaluation error: 'nchar()'
requires a character vector.
我也试过这个:
x <- x %>% mutate(new_col=substr(x$old_col, nchar(x$old_col)-3+1, nchar(x$old_col)))
在 nchar
中使用 as.character
或在创建 data.frame
时使用 stringsAsFactors = F
。
library(magrittr)
df <- data.frame(A = c("Blue", "Orange", "Black"), stringsAsFactors = F)
df %<>% mutate(B = substr(A, nchar(A)-3+1, nchar(A)))
df
A B
1 Blue lue
2 Orange nge
3 Black ack
我有一个 data.frame
(比方说 x
)和一个 character
列。我正在尝试从该列中提取最后 n
(比方说 3
)个字符,并在同一 data.frame
中创建一个新列。我正在尝试这样做:
library(dplyr)
x <- x %>% mutate(new_col=substr(old_col, nchar(old_col)-3+1, nchar(old_col)))
错误信息:
Error in mutate_impl(.data, dots) : Evaluation error: 'nchar()' requires a character vector.
我也试过这个:
x <- x %>% mutate(new_col=substr(x$old_col, nchar(x$old_col)-3+1, nchar(x$old_col)))
在 nchar
中使用 as.character
或在创建 data.frame
时使用 stringsAsFactors = F
。
library(magrittr)
df <- data.frame(A = c("Blue", "Orange", "Black"), stringsAsFactors = F)
df %<>% mutate(B = substr(A, nchar(A)-3+1, nchar(A)))
df
A B
1 Blue lue
2 Orange nge
3 Black ack