r - 拆分字符串、标记子字符串并将标记转换为数字向量

标签 r string token strsplit

我有一个字符串:

String <- "268.1,271.1,280.9,294.7,285.6,288.6,384.4\n124.8,124.2,116.2,117.7,118.3,122.0,168.3\n18,18,18,18,18,18,18"

我想根据\n把它分成三个子串。

我使用以下代码做到了这一点:

strsplit(String, "\n")

它产生了三个子串。

  1. 我怎样才能得到三个独立的存在,以便我可以使用每个向量进行计算?

  2. 如何标记子字符串,以创建数值向量?

最佳答案

这是一种基于 R 的方法。strsplit 有点棘手,因为它返回一个列表,对列表不起作用。

  1. 正如您在问题中所建议的那样,使用 strsplitsplit = "\n" 拆分成 3 个字符串的列表。

  2. 使用 unlist 将该列表更改为 3 个字符串的向量。

  3. 再次使用 strsplitsplit = "," 创建一个包含 3 个字符向量的列表

  4. 使用 lapply 将这些字符向量转换为数值向量。

lapply(strsplit(unlist(strsplit(String,"\n")),","),as.numeric)
[[1]]
[1] 268.1 271.1 280.9 294.7 285.6 288.6 384.4

[[2]]
[1] 124.8 124.2 116.2 117.7 118.3 122.0 168.3

[[3]]
[1] 18 18 18 18 18 18 18

关于r - 拆分字符串、标记子字符串并将标记转换为数字向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63064435/

相关文章:

r - 为 R 下载 RGoogleDocs(失败)

r - RStudio Shiny 中的可缩放图像映射

Java:比较字符串

java - 如何从多行字符串中删除特定行

r - 将两个 sampleID 的相应值连接到一个新的单列中

r - R 中数据 block 中的 SQL 雪花查询

java - 字符串到字符数组,空间复杂度为 O(1)

node.js - 使用express-jwt,为什么我的授权 header 明明就在那里却不见了

java - 使用扫描仪读取并比较每行的最后一个标记

c# - REST API token 认证