我正在学习哈斯克尔。
\n我正在尝试查找列表中as与列表元素相加的元素bs,并将元素作为元组返回:
findSum2 :: [Int] -> [Int] -> [(Int,Int,Int)]\nfindSum2 as bs = [(a, a', b) | a <- as, a' <- as, b <- bs, a + a' == b]\nRun Code Online (Sandbox Code Playgroud)\n该代码有效。但为了学习 Haskell,我尝试将其重写为do-notation:
findSum2 :: [Int] -> [Int] -> [(Int,Int,Int)]\nfindSum2 as bs = do\n a <- as\n a' <- as \n b <- bs\n if a + a' == b then return (a, a', b) \n else return ()\nRun Code Online (Sandbox Code Playgroud)\n然后类型检查员向我抱怨: …
这可能是一个愚蠢的问题,但我认为a的每个元素CharacterVector都是一个std::string.但是,这不起作用:
std::string hello(CharacterVector vec) {
std::string result = vec[0];
return result;
}
Run Code Online (Sandbox Code Playgroud)
错误:候选构造函数不可行:第一个参数没有已知的从'Proxy'(又名'string_proxy <16>')到'const_pointer'(又名'const char*')的转换
如果是这样的话,我们应该std::string在获得C++好东西等之前强制进行转换empty()?
我正在学习哈斯克尔。我有一个如下所示的列表:
data TwoValueList a = Empty | Node a a (TwoValueList a)
Run Code Online (Sandbox Code Playgroud)
我希望这样做Foldable,这样我就可以进行如下计算:
sum (Node 0 1 (Node 2 3 Empty)) --should produce 6
Run Code Online (Sandbox Code Playgroud)
如果只有一个值,那就很容易了:
data OneValueList = Empty | Node a (OneValueList a)
instance Foldable OneValueList where
foldr f b Empty = b
foldr f b (Node a rest) = f a (foldr f b rest)
Run Code Online (Sandbox Code Playgroud)
但是,如果一个节点内有两个值,我无法微调类型,因为f需要a和b,但我必须应用于内的f两个值并以某种方式将它们组合起来。我是否缺少其他类型的约束?aTwoValueList
谢谢。
http://bl.ocks.org/mbostock/1134768
嘿伙计们,我对JavaScript很新,我主要是学习使用d3来渲染数据.我试图了解上面代码中发生了什么,特别是在代码段中:
// Add a rect for each date
var rect = cause.selectAll("rect")
.data(Object) // THIS IS WEIRD TO ME....
.enter().append("svg:rect")
.attr("x", function(d) { return x(d.x); })
.attr("y", function(d) { return -y(d.y0) - y(d.y); })
.attr("height", function(d) { return y(d.y); })
.attr("width", x.rangeBand());
Run Code Online (Sandbox Code Playgroud)
Object构造函数在做什么.data()?我认为这data()将强制评估一个函数,所以实际上是在创建一个对象?为什么需要为每个数组的每个元素插入一个矩形causes?
假设我有一个数据帧:
x <- data.frame(a=c(1,2,3), b=c(2,3,2), c=c(4,5,1))
# a b c
#1 1 2 4
#2 2 3 5
#3 3 2 1
Run Code Online (Sandbox Code Playgroud)
对于每一列,我想计算它与其他列的最大值之间的差异:
# Desired result:
# a b c
#1 -3 -2 2
#2 -3 -2 2
#3 1 -1 -2
Run Code Online (Sandbox Code Playgroud)
例如,对于(1,1)条目,它是1,因为对于第一行a = 1,和max(b,c) = 4,所以1 - 4 = -3.
请注意,我不一定知道前面数据框中的列数,因此可能会有任意多列.
我正在尝试将 X 轴添加到我的 D3 (v5) 生成图的底部,如下所示。然而,X 轴出现在顶部,即使我调用axisBottom(). 我在某处犯了错误吗?
results = {
x: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
y: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
y1: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
}
const W = 1000,
H = 620,
margin = {
top: 20,
right: 80,
bottom: 30,
left: 50,
};
const width = W - margin.left - margin.right,
height = H - margin.top …Run Code Online (Sandbox Code Playgroud) javascript visualization data-visualization axis-labels d3.js
假设我有1000个x观测值的向量,以及1000个观测值的向量y.每行x和每行y分别对应100个样本.
x <- t(replicate(1000, rnorm(100,mean=6)))
y <- t(replicate(1000, rnorm(100,mean=5)))
Run Code Online (Sandbox Code Playgroud)
我想进行一次测试,看看每行的平均值是否与每一行的平均值有x显着差异y.
哪个是apply在这种情况下使用的权利?理想情况下,它会是这样的:
Xapply(x,y, function(x,y) t.test(x,y)$conf.int)
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
r ×3
d3.js ×2
haskell ×2
javascript ×2
apply ×1
axis-labels ×1
do-notation ×1
list ×1
monads ×1
rcpp ×1
string ×1