我实际上不确定是否应该在Stackoverflow上发布此内容,或者它在CrossValidated中更好,但如果您认为它不是正确的地方它可能会被移动:)
简而言之,我有不同ID的数据的X,Y坐标。这些是单元格跟踪数据,我想尝试计算每个ID的每个单独轨道的分形维数。我的数据如下:
var csv = //CSV CONTENT HERE
, data = parseCSV(csv)
, structure = toJSONStructure(data)
, formattedForD3 = toNameChildFormat(structure)
console.log(formattedForD3)
function parseCSV(csv) {
return csv.split('\n').slice(1).map(function(line) {
return line.split(',')
})
}
function toJSONStructure(data) {
var structure = {}
data.forEach(function(line) {
var o = structure
line.forEach(function(val) {
if(val) o = o[val] = o[val] || {}
})
})
return structure
}
function toNameChildFormat(structure) {
return Object.keys(structure).map(function(key) {
return {
name:key,
children:toNameChildFormat(structure[key])
}
})
}
我发现您可以使用包 structure(c("482.624", "483.577", "484.634", "486.883", "488.211",
"493.759", "452.133", "450.953", "450.603", "450.424", "450.518",
"445.979", "0-Si", "0-Si", "0-Si", "0-Si", "0-Si", "0-Si"), .Dim = c(6L,
3L), .Dimnames = list(NULL, c("X", "Y", "ID")))
,我尝试将函数fractaldim
用于2d数据,但我无法弄清楚如何使用单个ID而不是整个数据组。
感谢您的帮助。
答案 0 :(得分:0)
我不确定我是否理解您的想法,但您需要一个矩阵才能使用二维数据的方法。也许如果你想要估算每个id,你应该使用其他方法。在这种情况下,每个id只是一个点。