我有一个字符串:
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")
它产生了三个子串。
我怎样才能得到三个独立的存在,以便我可以使用每个向量进行计算?
如何标记子字符串,以创建数值向量?
最佳答案
这是一种基于 R 的方法。strsplit
有点棘手,因为它返回一个列表,也对列表不起作用。
正如您在问题中所建议的那样,使用 strsplit
和 split = "\n"
拆分成 3 个字符串的列表。
使用 unlist
将该列表更改为 3 个字符串的向量。
再次使用 strsplit
和 split = ","
创建一个包含 3 个字符向量的列表
使用 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
https://stackoverflow.com/questions/63064435/
相关文章:
css - Marp-CLI : How to use a custom theme that im
python - GoogleTrans Python 不翻译
javascript - 将变量传递给自定义 Svelte Web 组件
python - 如何在 Python 中使用正则表达式将所有内容匹配到双换行符 "\n\n"?
javascript - 在嵌套导航器中导航时未定义 route.params?
perl - 使用 sed 或 perl 替换两个字符之间的多个字符