我通过 API 从在线数据库 (REDCap) 中获取数据,数据以逗号分隔的字符串形式传递,如下所示,
RAW.API <- structure("id,event_arm,name,dob,pushed_text,pushed_calc,complete\n\"01\",\"event_1_arm_1\",\"John\",\"1979-05-01\",\"\",\"\",2\n\"01\",\"event_2_arm_1\",\"John\",\"2012-09-02\",\"abc\",\"123\",1\n\"01\",\"event_3_arm_1\",\"John\",\"2012-09-10\",\"\",\"\",2\n\"02\",\"event_1_arm_1\",\"Mary\",\"1951-09-10\",\"def\",\"456\",2\n\"02\",\"event_2_arm_1\",\"Mary\",\"1978-09-12\",\"\",\"\",2\n", "`Content-Type`" = structure(c("text/html", "utf-8"), .Names = c("", "charset")))
我有这个脚本可以很好地将其解析为数据框,
(df <- read.table(file = textConnection(RAW.API), header = TRUE,
sep = ",", na.strings = "", stringsAsFactors = FALSE))
id event_arm name dob pushed_text pushed_calc complete
1 1 event_1_arm_1 John 1979-05-01 <NA> NA 2
2 1 event_2_arm_1 John 2012-09-02 abc 123 1
3 1 event_3_arm_1 John 2012-09-10 <NA> NA 2
4 2 event_1_arm_1 Mary 1951-09-10 def 456 2
5 2 event_2_arm_1 Mary 1978-09-12 <NA> NA 2
然后我进行一些计算并将它们写入pushed_text
,pushed_calc
然后我需要将数据格式化回它进来的混乱的逗号分隔结构。
我想象这样的事情,
API.back <- `some magic command`(df, ...)
identical(RAW.API, API.back)
[1] TRUE
一些命令可以从我制作的数据框中格式化我的数据df
,回到原始 API 对象进来的结构,RAW.API
.
任何帮助将不胜感激。