gpt4 book ai didi

r - 如何使用stringr从R中的尺寸字符串中提取高度和宽度?

转载 作者:行者123 更新时间:2023-12-01 00:29:18 26 4
gpt4 key购买 nike

我有一列包含以下格式的维度字符串:

41 1/4 x 29 3/8" (104.8 x 74.6 cm)
7' 1" x 31" (216 x 78.8 cm)
6' 6 3/4" x 6' 6 3/4" (200 x 200 cm)

如何将以厘米为单位的高度和宽度分别提取到单独的列中?我想使用 stringrdplyr

最佳答案

我们可以试试

library(stringr)
do.call(rbind,
lapply(str_extract_all(df1$Col1,
"(?<=\\()[0-9.]+|[0-9.]+(?=\\scm)"), as.numeric))
# [,1] [,2]
#[1,] 104.8 74.6
#[2,] 216.0 78.8
#[3,] 200.0 200.0

如果我们需要使用dplyr

 library(dplyr)
library(purrr)
str_extract_all(df1$Col1, "(?<=\\()[0-9.]+|[0-9.]+(?=\\scm)") %>%
map(~as.numeric(.)) %>%
do.call(rbind,.)
# [,1] [,2]
#[1,] 104.8 74.6
#[2,] 216.0 78.8
#[3,] 200.0 200.0

或者使用 extract from tidyr

library(tidyr)
extract(df1, Col1, into=c("Col1", "Col2"),
"^[^(]+\\(([0-9.]+)\\D+([0-9.]+).*")
# Col1 Col2
#1 104.8 74.6
#2 216 78.8
#3 200 200

关于r - 如何使用stringr从R中的尺寸字符串中提取高度和宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35756048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com