Skip to content

R data.frame API

stringr —— 一个 tidyverse 包,提供一致且对管道友好的字符串操作 API。

1 class · 7 methods

stringr 函数

7 methods

来自 stringr 包的一致字符串操作函数,均以 str_ 为前缀。

data.frame(...) -> data.frame

返回字符向量中每个字符串的字符数(代码点数)。

Parameters

NameTypeDescription
stringany输入字符向量。

Returns

data.frame

Example

r
df <- data.frame(
  name = c("Ann", "Bob"),
  age  = c(25, 30)
)
#   name age
# 1  Ann  25
# 2  Bob  30
nrow(x) -> integer

按位置提取子字符串。负索引从末尾开始计数。

Parameters

NameTypeDescription
stringdata.frame|matrix输入字符向量。

Returns

integer

Example

r
df <- data.frame(a = 1:3, b = 4:6)
nrow(df)  # 3
ncol(x) -> integer

对于匹配模式的每个字符串返回 TRUE,否则返回 FALSE。

Parameters

NameTypeDescription
stringdata.frame|matrix输入字符向量。

Returns

integer

Example

r
df <- data.frame(a = 1:3, b = 4:6)
ncol(df)  # 2
x[i, j] (subset)

用 replacement 替换每个字符串中 pattern 的第一个匹配项。

Parameters

NameTypeDescription
stringinteger|logical输入字符向量。
patterninteger|character要匹配的模式。

Returns

data.frame|vector

Example

r
df <- data.frame(name = c("Ann", "Bob"), age = c(25, 30))
df[1, ]          # first row
df[, "age"]      # age column as vector
df[df$age > 26, ]  # rows where age > 26
x$col (column access)

使用 Unicode 规则将字符串转换为小写。

Parameters

NameTypeDescription
stringcharacter输入字符向量。

Returns

vector

Example

r
df <- data.frame(name = c("Ann", "Bob"), age = c(25, 30))
df$age  # 25 30
df$name # "Ann" "Bob"
rbind(...) -> data.frame

按 pattern 拆分每个字符串,返回一个字符向量列表。

Parameters

NameTypeDescription
stringdata.frame|vector输入字符向量。

Returns

data.frame

Example

r
df1 <- data.frame(a = 1, b = 2)
df2 <- data.frame(a = 3, b = 4)
rbind(df1, df2)
#   a b
# 1 1 2
# 2 3 4
cbind(...) -> data.frame

按元素连接字符串。相当于 stringr 版的 paste0/paste。

Parameters

NameTypeDescription
...data.frame|vector要连接的字符串。

Returns

data.frame

Example

r
df <- data.frame(a = 1:3)
cbind(df, b = 4:6)
#   a b
# 1 1 4
# 2 2 5
# 3 3 6