以下是我想要区分的价值观:

f <- data.frame(x = c("c(58663.809, 232648.355, 0)", "c(5902.873, 232674.248, 0)"))

我想删除"c(",用逗号分隔两个值,并删除最后两个字符"0)".

生成的两个列应该如下所示:

x = c(58663.809, 5902.873),
y = c(232648.355, 232674.248)

推荐答案

以下是使用dplyrtidyr库的一种 Select .

我们从字符串x中删除"c("")"个字符,使用separate_wider_delim将数据划分到不同的列中,同时删除最后一个值.最后,使用type.convert将列值更改为其各自的类型.

library(dplyr)
library(tidyr)

f %>%
  mutate(x = gsub("c\\(|\\)", "", x)) %>%
  separate_wider_delim(x, names = c("x", "y", NA), delim = ", ") %>%
  type.convert(as.is = TRUE) %>%
  data.frame()

#          x        y
#1 58663.809 232648.4
#2  5902.873 232674.2

R相关问答推荐

按块将载体转换为矩阵-reshape

咕噜中的元素列表:map

获取列中值更改的行号

在for循环中转换rabrame

移除仪表板Quarto中顶盖和车身之间的白色区域

Ggplot2中geom_tile的动态zoom

如何根据数据帧中的值从该数据帧中提取值?

如何在R中平滑地绘制线图(不拟合)?

在R中创建连续的期间

如何将一些单元格的内容随机 Select 到一个数据框中?

将摘要图添加到facet_WRAP gglot的末尾

删除数据帧中特定行号之间的每第三行和第四行

如何在AER::ivreg中指定仪器?

按组使用dummy r获取高于标准的行的平均值

R:使用ApexCharge更改标签在饼图中的位置

将边列表转换为路径长度列表

使用dqur在不同变量上创建具有多个条件的变量

识别部分重复行,其中一行为NA,其重复行为非NA

如何将两个用不同的运算符替换*的矩阵相乘

如何在给定的环境中找到函数的函数参数?