首页 > 解决方案 > 来自字符向量内容的 R 数据帧

问题描述

我正在使用一个长字符向量,其中每一行都应该包含一个小数据框。我创建了一个函数来清理数据并生成一个准备好输入data.frame()函数的字符串。输出如下:

[1] "`demo/members/education_member` = c('High_school', 'High_school'), `demo/members/status` = c('Other', 'Other'), `demo/members/name` = c('Hans Solo', 'Luke Skywalker')"

我想通过这个输出来data.frame()获得以下数据帧(通过复制和粘贴上面未引用的输出并将其传递给data.frame函数):

  demo.members.education_member demo.members.status demo.members.name
1                   High_school               Other         Hans Solo
2                   High_school               Other    Luke Skywalker

问题:将字符输出的内容转换为 R 数据帧的最佳方法是什么?

标签: rdataframecharacter

解决方案


这是一种方法,但重申我的评论 - 可能有更好的方法将您的原始数据转换为清理后的数据框。

x <- "`demo/members/education_member` = c('High_school', 'High_school'), `demo/members/status` = c('Other', 'Other'), `demo/members/name` = c('Hans Solo', 'Luke Skywalker')"

y <- paste0("data.frame(", x, ")")

eval(parse(text = y))

demo.members.education_member demo.members.status demo.members.name
1                   High_school               Other         Hans Solo
2                   High_school               Other    Luke Skywalker

推荐阅读