我似乎无法使应用函数访问/修改外部声明的变量...什么给出?
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) 我试图从数据框中选择.问题是为什么我下面的最后一个查询返回前两个不是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) 我想做一些非常简单的事情,但我不敢相信它不起作用......我可能错过了一些非常明显的事情.请帮忙.
目标:将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) 我遇到了可以在以下代码片段中总结的情况。基本上,我希望我的类继承构造函数。它可以工作,但是一旦我在C. 显然编译器删除了构造函数。
我的问题是:
#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) 我有一个表有一个显示%值的列.为了使它更具视觉吸引力,我想显示一个与%值对应的线性渐变背景(例如,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) 我正在尝试调试广泛使用C宏(嵌套宏的宏)的应用程序.它给出了"使用未声明的标识符"错误.
有没有办法让LLDB调试器正确识别和评估它?我可以自己分解宏并编写完整的表达式,但它非常繁琐且容易出错.
我尝试在 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) 我一直在搜索 c3.js 参考,但找不到任何可以使值出现在栏中的设置。有工具提示很酷,但在我的情况下,直接在条形列中显示值更容易......
我刚刚开始学习 Apache Spark,我正在使用 Zeppelin 以交互方式使用它。到目前为止一切顺利,但偶尔我想开始清理并重新启动内核。我在 Zeppelin 中找不到这样的功能......它甚至存在吗?
我想在模板函数中默认一个 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)