我有一个包含超过1500个json对象的文件,我想在R中使用.我已经能够将数据作为列表导入,但是很难将其强制转换为有用的结构.我想创建一个数据框,其中包含每个json对象的行和每个key:value对的列.
我用这个小的假数据集重新创建了我的情况:
[{"name":"Doe, John","group":"Red","age (y)":24,"height (cm)":182,"wieght (kg)":74.8,"score":null},
{"name":"Doe, Jane","group":"Green","age (y)":30,"height (cm)":170,"wieght (kg)":70.1,"score":500},
{"name":"Smith, Joan","group":"Yellow","age (y)":41,"height (cm)":169,"wieght (kg)":60,"score":null},
{"name":"Brown, Sam","group":"Green","age (y)":22,"height (cm)":183,"wieght (kg)":75,"score":865},
{"name":"Jones, Larry","group":"Green","age (y)":31,"height (cm)":178,"wieght (kg)":83.9,"score":221},
{"name":"Murray, Seth","group":"Red","age (y)":35,"height (cm)":172,"wieght (kg)":76.2,"score":413},
{"name":"Doe, Jane","group":"Yellow","age (y)":22,"height (cm)":164,"wieght (kg)":68,"score":902}]
Run Code Online (Sandbox Code Playgroud)
数据的一些功能:
基于这个问题:R list(structure(list()))到数据框,我尝试了以下内容:
json_file <- "test.json"
json_data <- fromJSON(json_file)
asFrame <- do.call("rbind.fill", lapply(json_data, as.data.frame))
Run Code Online (Sandbox Code Playgroud)
使用我的真实数据和这些假数据,最后一行给出了这个错误:
Error in data.frame(name = "Doe, John", group = "Red", `age (y)` = 24, :
arguments imply differing number of rows: 1, 0
Run Code Online (Sandbox Code Playgroud) 我发现的所有d3教程都使用以对象数组排列的数据,从中为数组中的每个对象绘制一个点.给定以下结构中的数据:
data = [
{id: 1, x: 4, y: 10, type: 1},
{id: 2, x: 5, y: 20, type: 2}
...
]
Run Code Online (Sandbox Code Playgroud)
x和y值用于制作散点图.type参数用于更改每个点的颜色.请参阅此jsfiddle以获取示例:http://jsfiddle.net/uxbHv/
不幸的是,我有一个不同的数据结构,我无法弄清楚如何通过为每个对象绘制两个数据点来创建相同的图形.以下是一些示例数据:
dataSet = [
{xVar: 5, yVar1: 90, yVar2: 22},
{xVar: 25, yVar1: 30, yVar2: 25},
{xVar: 45, yVar1: 50, yVar2: 80},
{xVar: 65, yVar1: 55, yVar2: 9},
{xVar: 85, yVar1: 25, yVar2: 95}
]
Run Code Online (Sandbox Code Playgroud)
我可以针对yVar1或yVar2单独绘制xVar,但我无法弄清楚如何在同一个图表上获取两者:http: //jsfiddle.net/634QG/
我试图理解/预测与使用firebase作为后端相关的安全性考虑因素.
这些文档包括验证用户身份和验证输入,但我找不到任何与恶意用户尝试将javascript注入数据库相关的风险的讨论.
是否有可能javascript可以包含在保存到数据库的输入字段中,然后可以在以后检索并显示该代码时执行?
或者是firebase以某种方式逃避或消毒数据?
我在d3中遇到了转换问题.这个jsfiddle说明了这个问题:http://jsfiddle.net/3bzsE/
页面加载时,dataset01用于为数组中的每个人创建一个圆.d.name用作密钥.
图表下方的蓝色矩形是用于更新点击数据的按钮.
这是更新功能:
function updateVis(data) {
var points = svg.selectAll('.nameinfo')
.data(data, function(d) { return d.name;});
var pointsEnter = points
.enter()
.append('g')
.attr('class', 'nameinfo');
pointsEnter
.append('circle')
.attr('cx', function(d) { return 10 + d.position * 100; })
.attr('cy', width/2)
.attr('r', 0)
.style('fill', function(d) { return z(d.position); })
.style('fill-opacity', 0.5)
.style('stroke', '#232323')
.append("title")
.text(function(d) { return d.name; });
pointsEnter
.append('text')
.attr('x', function(d) { return 10 + d.position * 100; })
.attr('y', width/2)
.attr("dy", "0.35em")
.style("text-anchor", "middle")
.style("font-size", "11px")
.text(function(d, …
Run Code Online (Sandbox Code Playgroud) 我试图创建部分填充的圈子,就像最后的NYT政治会议可视化中的圈子一样:http://www.nytimes.com/interactive/2012/09/06/us/politics/convention-word-counts.html
我在d3(https://gist.github.com/1067636和http://bl.ocks.org/3422480)中为clipPaths找到的两个最清晰的代码示例为每个剪辑路径创建了具有唯一ID的各个div元素然后将这些路径应用于单个元素.
我无法弄清楚如何从这些示例到基于数据值的一组元素中的每个元素具有唯一圆形clipPath的可视化,以便我可以创建我的效果.
这是我到目前为止:
给定具有以下结构的数据:
data = [
{value: 500, pctFull: 0.20, name: "20%"},
{value: 250, pctFull: 0.75, name: "75%"},
{value: 700, pctFull: 0.50, name: "50%"},
]
Run Code Online (Sandbox Code Playgroud)
1)为数据集中的每个对象创建一个带圆的力图.圆的面积来自对象值.
2)使用mbostock示例中的算法从每个数据点的比例(pctFull)计算k(和h)http://bl.ocks.org/3422480
3)使用k为每个覆盖圆的适当区域的数据点生成一个矩形.
我想如果我可以将每个矩形的可见度限制在各自的圆圈中,那么就可以完成插图,但这就是我被困住的地方.我尝试过很多东西,但都没有.
这是jsfilddle:http://jsfiddle.net/G8YxU/2/
我正在尝试使用 inkscape 创建的 xml 文件在脚本中重新生成 svg 路径。我了解如何解释 xml 文件中的 d 标记,但在文件中进行转换时遇到问题。
我的测试文件上有一条路径,我将其简化为一个小三角形,以使其更易于使用。inkscape 中的简单 svg 文件如下所示:
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg6530"
viewBox="0 0 33 134"
height="134"
width="33">
<defs
id="defs6532" />
<metadata
id="metadata6535">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="display:inline"
transform="translate(0,-918.36216)"
id="layer1">
<path
id="path7149"
d="m 0.10475398,1040.2201 1.79370822,0 1.4230759,-1.6612"
style="fill:#000000" />
</g>
</svg>
Run Code Online (Sandbox Code Playgroud)
该路径是相对路径(小写 m),
它应用了 (0,-918.36216) 的变换:翻译。
视图框为 0 0 33 134
height = 134
width = 33
路径为:“m 0.10475398,1040.2201 1.79370822,0 1.4230759,-1.6612”
所有单位均为像素。
如果我查看 …
d3.js ×3
javascript ×3
svg ×2
dataframe ×1
firebase ×1
force-layout ×1
geometry ×1
import ×1
inkscape ×1
json ×1
r ×1
security ×1
transition ×1