小编fat*_*gon的帖子

如何从R apply函数访问全局/外部范围变量?

我似乎无法使应用函数访问/修改外部声明的变量...什么给出?

    x = data.frame(age=c(11,12,13), weight=c(100,105,110))
    x

    testme <- function(df) {
        i <- 0
        apply(df, 1, function(x) {
            age <- x[1]
            weight <- x[2]
            cat(sprintf("age=%d, weight=%d\n", age, weight))
            i <- i+1   #this could not access the i variable in outer scope
            z <- z+1   #this could not access the global variable
        })
        cat(sprintf("i=%d\n", i))
        i
    }

    z <- 0
    y <- testme(x)
    cat(sprintf("y=%d, z=%d\n", y, z))
Run Code Online (Sandbox Code Playgroud)

结果:

    age=11, weight=100
    age=12, weight=105
    age=13, weight=110
    i=0
    y=0, z=0
Run Code Online (Sandbox Code Playgroud)

scope r apply

28
推荐指数
2
解决办法
2万
查看次数

如何使用两列条件过滤数据框?

我试图从数据框中选择.问题是为什么我下面的最后一个查询返回前两个不是jsut的所有5个记录?

> x <- c(5,1,3,2,4)
> y <- c(1,5,3,4,2)
> data <- data.frame(x,y)
> data
  x y
1 5 1
2 1 5
3 3 3
4 2 4
5 4 2
> data[data$x > 4 || data$y > 4]
  x y
1 5 1
2 1 5
3 3 3
4 2 4
5 4 2
Run Code Online (Sandbox Code Playgroud)

r dataframe

12
推荐指数
2
解决办法
7万
查看次数

创建Spark数据集时无法解析给定输入列错误的xyz

我想做一些非常简单的事情,但我不敢相信它不起作用......我可能错过了一些非常明显的事情.请帮忙.

目标:将Iris数据集(csv文件,无标题)读入数据集

码:

case class Iris(sepalWidth: Double, sepalLength: Double, petalWidth: Double, petalLength: Double, irisClass: String)
val ds = spark.read.format("csv").option("inferSchema", true).load("/home/ec2-user/spark-2.0.1-bin-hadoop2.7/tkdata/iris.data").as[Iris]
Run Code Online (Sandbox Code Playgroud)

错误:

org.apache.spark.sql.AnalysisException: cannot resolve '`sepalWidth`' given input columns: [_c1, _c3, _c0, _c4, _c2];
  at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:77)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:74)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:301)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:301)
  at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
  at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:300)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$5.apply(TreeNode.scala:321)
  at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:179)
  at org.apache.spark.sql.catalyst.trees.TreeNode.transformChildren(TreeNode.scala:319)
  at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$5.apply(TreeNode.scala:321)
  at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:179)
  at org.apache.spark.sql.catalyst.trees.TreeNode.transformChildren(TreeNode.scala:319)
  at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:298)
  at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$5$$anonfun$apply$11.apply(TreeNode.scala:350)
  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
  at …
Run Code Online (Sandbox Code Playgroud)

apache-spark

9
推荐指数
1
解决办法
6925
查看次数

当我有一个虚方法时,构造函数被编译器删除了?

我遇到了可以在以下代码片段中总结的情况。基本上,我希望我的类继承构造函数。它可以工作,但是一旦我在C. 显然编译器删除了构造函数。

我的问题是:

  1. 编译器为什么要这样做?
  2. 我可以通过在 B 和 C 中定义构造函数并最终委托给 A 的构造函数来解决。有一个更好的方法吗?
#include <iostream>

struct A {
  A() = delete;
  A(int x) : x_(x) {}
  int x_;
};

struct B : public A {
};

struct C : public B {
  // What? defining virtual method kills the inherited constructor
  //virtual void foo() {}
};

int main() {
  C c{10};
  std::cout << "Hello World: " << c.x_ << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

c++

9
推荐指数
1
解决办法
708
查看次数

HTML表格单元格部分背景填充

我有一个表有一个显示%值的列.为了使它更具视觉吸引力,我想显示一个与%值对应的线性渐变背景(例如,50%将填充单元宽度的一半).

我想出了如何制作渐变背景(使用ColorZilla的渐变生成器),但不知道如何设置背景填充的宽度....

当前代码:

<table border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td width="100" style="background: linear-gradient(to right, rgba(0,150,0,1) 0%,rgba(0,175,0,1) 17%,rgba(0,190,0,1) 33%,rgba(82,210,82,1) 67%,rgba(131,230,131,1) 83%,rgba(180,221,180,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */">50%</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

html css linear-gradients css3

8
推荐指数
1
解决办法
6086
查看次数

LLDB调试器 - 如何评估C宏?

我正在尝试调试广泛使用C宏(嵌套宏的宏)的应用程序.它给出了"使用未声明的标识符"错误.

有没有办法让LLDB调试器正确识别和评估它?我可以自己分解宏并编写完整的表达式,但它非常繁琐且容易出错.

xcode gdb lldb

5
推荐指数
1
解决办法
1845
查看次数

renderGvis 在 rmarkdown 中不起作用

我尝试在 rmarkdown 页面中显示 googleVis 图表,但它不起作用...相反,它在浏览器中逐字显示 R 代码。

结果

function () 
{
    chart <- func()
    paste(chart$html$chart, collapse = "\n")
}
<environment: 0x5bd7558>
Run Code Online (Sandbox Code Playgroud)

代码

```{r echo=F}
library(googleVis)

df <- data.frame(country=c("US", "GB", "BR"), val1=c(1,3,4), val2=c(23,12,32))

renderGvis({
  gvisColumnChart(df, xvar="country", yvar=c("val1", "val2"))
})

```
Run Code Online (Sandbox Code Playgroud)

r r-markdown shiny googlevis

5
推荐指数
1
解决办法
191
查看次数

c3.js 如何在条形内部/顶部显示值

我一直在搜索 c3.js 参考,但找不到任何可以使值出现在栏中的设置。有工具提示很酷,但在我的情况下,直接在条形列中显示值更容易......

d3.js c3.js

5
推荐指数
1
解决办法
3213
查看次数

Zeppelin/Spark 中 jupyter 的 Restart Kernel 相当于什么

我刚刚开始学习 Apache Spark,我正在使用 Zeppelin 以交互方式使用它。到目前为止一切顺利,但偶尔我想开始清理并重新启动内核。我在 Zeppelin 中找不到这样的功能......它甚至存在吗?

apache-spark apache-zeppelin

5
推荐指数
1
解决办法
632
查看次数

模板函数中的默认 lambda 参数

我想在模板函数中默认一个 lambda 参数,但它无法编译。我错过了什么?

template <typename F>
void foo(
  F f = [](){
          std::cout << "Hello!\n";
        }
) {
  f();
}

int main() {
  foo();  // 1. does not compile

  foo([](){ // 2. this is ok
    std::cout << "Hello!\n";
  });
}
Run Code Online (Sandbox Code Playgroud)

c++

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