小编eth*_*ane的帖子

在具有相似名称的多个数据帧上使用 rbind() 的优雅方法?

目前,我有多个具有相同名称且按运行顺序排列的数据帧(、、、、...foo1等)。我正在尝试创建一个包含上述数据帧的所有行的大型数据帧。有没有一种优雅的方法来做到这一点,相当于?foo2foo3foo4foo5rbind()rbind(foo1, foo2, foo3, foo4, foo5...)

我已经尝试过do.call(rbind, paste0("foo",i))哪里i=c(1,2,3...)没有效果。

这里提到了一个解决方案,那就是: do.matrix <- do.call(rbind, lapply( paste0("variable", 1:10) , get) )

然而,答案神秘地说“这是处理相关项目的错误方法。最好使用列表或数据框,但您可能会在适当的时候找到原因。”

为什么这是错误的方法,什么是“正确”的方法?

谢谢。

r

4
推荐指数
1
解决办法
1万
查看次数

d3.js具有不同颜色和符号的散点图 - 遇到的问题

我正在尝试创建数百个数据点的散点图,每个数据点有大约5个不同的属性.数据从.csv加载为对象数组,每个对象如下所示:

{hour: "02",yval: "63",foo: "33", goo:"0", bar:"1"},

我想显示具有以下属性的散点图:

形状bar:

-circle表示所有点,其中bar=0三角形表示那些bar=1(这是一个虚拟变量).

颜色foogoo:

  • 所有点都以灰色开始.goo分类为值[0,1,2],而foo定量范围为0-50.foo和goo是互斥的,因此只有其中一个具有值.换句话说,对于每个数据点foo=0或者goo=0.
  • 积分goo=1应为橙色; 点goo=2应该是红色的.
  • foo 应该映射到从浅蓝色到深蓝色的线性色标,即 d3.scale.linear().domain([0, 50]).range(["#87CEFF", "#0000FF"]);

我可以单独完成这些,但是将所有内容组合在一起就会给我带来麻烦.

我的代码具有可重现的数据在这里:http://jsfiddle.net/qy5ohw0x/3/

问题

  • 对于符号,我试过

.append("svg:path")

.attr("d", d3.svg.symbol())

这没用.我尝试了一种不同的方法,但这没有正确映射值:

var series = svg.selectAll("g.series") 
    .data(dataSet, function(d, i) { return d.bar; })
    .enter() 
    .append("svg:g")

series.selectAll("g.point")
    .data(dataSet)
    .enter()
    .append("svg:path")
    .attr("transform", function(d, i) { return "translate(" + d.hour +  "," …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

3
推荐指数
1
解决办法
7146
查看次数

获取.attr("display":none)来处理mouseout(D3.js)

我正在使用弹出/工具提示对数据点进行交互式D3.js可视化,这样在鼠标悬停事件中,弹出窗口将出现在所选点旁边,并带有一些信息

目前我使用下面的代码实现了这一点 - 鼠标悬停时出现工具提示.当用户将鼠标移动到另一个点时,原始工具提示将消失,并且新数据点旁边会显示正确的工具提示.

但是,mouseout事件无法正常工作 - 一旦鼠标离开数据点,工具提示就不会消失.例如,如果用户未将鼠标移动到新数据点上,则旧工具提示仍保留在那里.

代码的相关部分:

   svg.selectAll("path")
        //other stuff here
        .on("mouseover", function(d) {      
            div.transition()                
                .duration(200)   //mouseover transition does not seem to work, but that's minor
                .style("opacity", .8);      
            div .html(d.datetime.substring(0,10) )  
                .style("left", (d3.event.pageX + 5) + "px")     
                .style("top", (d3.event.pageY - 24) + "px")
                .attr("display", display);    
            })                  
        .on("mouseout", function(d) {       
            div.attr("display", none);   
        })

    //bit of code where I append the tooltip to the right element
    var div = d3.select("body").append("div")   
        .attr("class", "tooltip")               
        .style("opacity", .8);  
    });     
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢!

javascript data-visualization d3.js

3
推荐指数
2
解决办法
7822
查看次数

R中的线性回归:"eval中的错误(expr,envir,enclos):找不到对象"

我正在尝试在R中进行简单的最小二乘回归,并且一直在犯错误.这真是令人沮丧,任何人都可以指出我做错了什么?

首先,我附上数据集(17个变量,440个观测值,每个观测值在一条线上,没有列标题).在这里,我得到一个"蒙面"错误.根据我的阅读,当对象重叠时会发生"屏蔽"错误.但是在这里我没有使用任何软件包,而是默认,我在此之前加载了一个新的工作区图像.不确定这个错误是指什么?

> cdi=read.table("APPENC02.txt", header=FALSE)
> attach(cdi)
The following objects are masked from cdi (position 3):

    V1, V10, V11, V12, V13, V14, V15, V16, V17, V2, V3, V4, V5, V6, V7, V8, V9
Run Code Online (Sandbox Code Playgroud)

接下来,由于数据集没有标题,我使用colnames()命令添加列名,然后使用命令检查我的工作head():

colnames(cdi)<- c("IDnmbr","Countynm","Stateabv","LandArea","totpop","youngpct","oldpct","actphy","hspbed","srscrime","hsgrad","BAgrad","povpct","unempct","pcincome","totincome","georegion")
> head(cdi)
  IDnmbr    Countynm Stateabv LandArea  totpop youngpct oldpct actphy hspbed srscrime hsgrad BAgrad povpct unempct pcincome totincome georegion
1      1 Los_Angeles       CA     4060 8863164     32.1    9.7  23677  27700   688936   70.0   22.3   11.6     8.0    20786    184230         4
2      2        Cook …
Run Code Online (Sandbox Code Playgroud)

regression r

1
推荐指数
1
解决办法
3万
查看次数

仅仅在没有与R中的其他部分匹配的情况下专门地"覆盖""SN","+ SN"或"-SN"

因此,我尝试grep从"天气状况"列中查看数据,该列具有针对不同天气类型的多个指标.我试图分别"+ SN","SN"和"-SN",但我很难避免部分匹配.

以下是要插入的列中可能包含的内容的示例:

c("-SN", " ", "SN FR", "HZ +SN", "SN", "+SN", " ", "+BC -SN")

Grepping"-SN"很好,但是grepping"+ SN"很棘手,因为+是一个正则表达式运算符本身.使用转义字符给我以下错误:

> grep( "\+SN" ,aa) Error: '\+' is an unrecognized escape in character string starting ""\+"

此外,在不获得"+ SN"或"-SN"的情况下轻击"SN"是一项挑战.正如您所看到的,我无法使用^SN$^SN排除+或 - 符号,因为一列中可能有多个指标,而我正在寻找的指标可能位于另一个指标的前面或后面.R中有grep !=还是-v等价的吗?你会怎么样这样的?R中的正则表达式在功能上似乎更受限制.

谢谢.

grep r

0
推荐指数
1
解决办法
193
查看次数

标签 统计

r ×3

d3.js ×2

javascript ×2

data-visualization ×1

grep ×1

regression ×1

svg ×1