【发布时间】:2018-04-23 12:14:41
【问题描述】:
我在数据框中有一个向量,它在记录时以 eur、gbp 和 usd 列出价格。数据在一个条目中列出了所有三个值,例如:
X<-c( "{\"eur\": 4900, \"gbp\": 4250, \"usd\": 6120}",
"{\"gbp\": 730, \"usd\": 1050}",
"{\"eur\": 1050, \"gbp\": 910, \"usd\": 1310}",
"{\"eur\": 400, \"gbp\": 350, \"usd\": 500}" )
X
[1] "{\"eur\": 4900, \"gbp\": 4250, \"usd\": 6120}"
[2] "{\"gbp\": 730, \"usd\": 1050}"
[3] "{\"eur\": 1050, \"gbp\": 910, \"usd\": 1310}"
[4] "{\"eur\": 400, \"gbp\": 350, \"usd\": 500}"
所以一个条目看起来像{"eur": 8200, "gbp": 6740, "usd": 9600}
大多数条目都有 eur、gbp 和 usd 的值,但有些条目缺少一种货币的数据,例如 {"gbp": 9700, "usd": 13650}。
我认为将其作为一个列表或 3 个单独的向量可能更有意义,但当我从 csv 导入数据时,它作为一个字符出现。
我想要的是从字符串中提取 GBP 值,所以对于price: {"eur": 12100, "gbp": 10200, "usd": 14500},我会得到priceGBP: 10200。
我想我可以做一些过于复杂和模糊的事情来得到这个,例如使用 grep 在字符串中查找“gbp”的位置,然后提取它后面的字符。但我想知道考虑到数据的结构,是否有一种巧妙的方法可以做到这一点。
我可以用其他方式导入 csv 吗?
【问题讨论】:
-
plaes 使用
dput()在您的问题中包含一些可重现的数据
标签: r