我最近开始使用 doForms(ODK 的衍生产品)收集大量调查数据,在将数据加载到 RI 后,我意识到我必须完全重塑它。因为在我的调查中,我有 9 个问题的循环,这些问题都是结构化的观察,列名是连续的。
对于前。
colnames(MasterDataframe)
[1] "Date_Created" "WaterType" "Unique_barcode" "VolumeStart.1."
[5] "StartTime.1." "StopTime.1." "VolumeEnd.1." "UserType.1."
[9] "NYoungChildren.1." "NChildren.1." "NAdults.1." "EventType.1."
[13] "VolumeStart.2." "StartTime.2." "StopTime.2." "VolumeEnd.2."
[17] "UserType.2." "NYoungChildren.2." "NChildren.2." "NAdults.2."
[21] "EventType.2." "VolumeStart.3." "StartTime.3." "StopTime.3."
[25] "VolumeEnd.3." "UserType.3." "NYoungChildren.3." "NChildren.3."
[29] "NAdults.3."
这种情况持续了相当长的一段时间。但是你可以在这里看到模式。
我试图了解如何提取循环数据并首先将其放入它自己的 data.frame 中,用于原始数据帧的 1 行。例如,因为我在一个循环中有 9 个问题,假设我有 20 个循环(MasterDataFrame 中的 180 个列标题),我需要将其浓缩为一个包含 9 个变量和 20 个观察值的数据框。
这里需要注意的是,主数据帧的任何行都包含可变数量的循环。
我不确定如何解决这个问题。朝着正确方向迈出的任何一步都会有所帮助。
因为我通过谷歌文档加载了这个数据框,所以你可以自己查看。
require(RCurl)
myCsv <- getURL('https://docs.google.com/spreadsheet/pub?key=0AhVuJMYFyexYdEpKWkFMby1QMXJhOVVXVXVtekFlbkE&single=true&gid=1&output=csv', cainfo='cacert.pem')
MasterDataFrame<- (read.csv(textConnection(myCsv),stringsAsFactors = FALSE))
编辑:我认为这会对我缺乏“展示工作”产生一些负面评价,但任何方向都非常感谢。我不确定要问的正确问题是什么,关于“循环”列数据的概念我也找不到太多。