如何创建垂直排列的值 - 频率组合表,
> df = data.frame(fruit=c("apple", "banana", "cherry", "cherry", "apple", "banana", "apple", "date"));
> table(df$fruit)
apple banana cherry date
3 2 2 1
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但我喜欢这样的东西(例如基于频率的基本操作和值的子集化):
Fruit Freq
"apple" 3
"banana" 2
"cherry" 2
"date" 1
Run Code Online (Sandbox Code Playgroud)
在SQL中,那就是SELECT fruit, COUNT(*) AS Freq FROM df GROUP BY fruit,并且会产生一个类似于这个问题起点的表:https: //stats.stackexchange.com/questions/15574/how-to-convert-a-frequency-table-into-一个矢量-的值
在R中有一个简单的方法吗?(或者,这是否表明心态太'SQL'且不够'R'?)
我如何在Mongoose.js + MongoDB中执行此查询?
我有一个简单的架构,其中评级由用户ID存储,以避免重复.对于读取和写入给定对象,这很好.但是,我如何向MongoDB查询特定查看者对其进行评级的所有项目?
例如,这在MongoDB shell中工作正常:
db.items.find({ratings.52126672b9f5bd670b000001: {$exists: true}})
Run Code Online (Sandbox Code Playgroud)
但我想在Node.js + Mongoose.js中以编程方式查询,如下所示,
var user_id = req.params.id;
Item.find({ ratings.user_id : {$exists: true}}, function(err, items) { ... });
Run Code Online (Sandbox Code Playgroud)
令我难以接受的是Mongoose.js对内部对象采用点表示法,但是它解释user_id为文字,而Mongoose.js不对内部对象采用方括号表示法.
这是一个示例模式;
var ItemSchema = new mongoose.Schema({
name: { type: String, required: true },
ratings: { type: mongoose.Schema.Types.Mixed}
});
Run Code Online (Sandbox Code Playgroud)
这样的数据的一个例子:
[ {
name: "Toaster",
ratings: {
"52126672b9f5bd670b000001": 1,
"52155b39a411791c29000001": -1
}
},
{
name: "Griddle",
ratings: {
"52126672b9f5bd670b000001": 1,
"52126672b9f5bd670b000001": 1"
}
}
}
Run Code Online (Sandbox Code Playgroud) 关于angularJS的新手问题,但是在搜索过的教程中没有看到类似的情况.
如何使用相同的指令定义将不同的参数传递给各个div实例?在这里,我希望看到,red green blue但我blue blue blue在HTML中看到.我看到控制器在链接之前被调用了.
http://jsfiddle.net/gradualstudent/Y2bBy/
<!DOCTYPE html>
<html >
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.directive("element", function () {
return {
restrict: "A",
template: '<h1>{{type}}</h1>',
link: function (scope, element, attrs) {
scope.type = attrs.element;
console.log("Setting: "+scope.type);
},
controller: function ($scope) {
console.log("Checking: "+$scope.type);
}
};
})
</script>
</head>
<body ng-app="myApp">
<div element="red">1</div>
<div element="green">2</div>
<div element="blue">3</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 尝试使用R从R上传数据文件httr POST.以下几乎可以工作,但我需要指定文件名,例如"mydata.csv".如何指定文件名?它到达服务器时是空白的.
POST(uri, body=list(y=upload_file(filename)))
Run Code Online (Sandbox Code Playgroud)
在curl其中一个将指定它与-F name=filename如下:
curl -i -F name=test -F filedata=@localfile.jpg http://example.org/upload
Run Code Online (Sandbox Code Playgroud)
是否可以从 Jison 的语法规则中更改词法状态(又名“开始条件”)?
我正在解析一种计算机语言,当满足某些语法规则时,词汇状态会明显改变(至少对于我的人类思维而言),即使在词法分析器中没有我可以准确指向的标记。
(我认为这是因为某些关键字在一种状态下是保留/可保留的,而在另一种状态下则不是。)
绝对可以从词法分析器中更改词法状态,例如:
%lex
%x expression
%%
{id} { return 'ID';
"=" { this.begin('expression'); return '='; }
<expression>";" { this.popState(); return ';'; }
Run Code Online (Sandbox Code Playgroud)
但是有没有办法在匹配某些语法规则时改变词法状态?
%% /* language grammar */
something : pattern1 pattern2 { this.beginState('expression'); $$ = [$1,$2]; };
pattern1 : some stuff { $$ = [$1, $2]; }
pattern2 : other stuff { $$ = [$1, $2]; }
Run Code Online (Sandbox Code Playgroud)
如果我尝试这个,我会得到
TypeError: this.popState is not a function
at Object.anonymous (eval at createParser (/Users/me/Exp/stats/node_modules/jison/lib/jison.js:1327:23), <anonymous>:47:67)
at Object.parse (eval at …Run Code Online (Sandbox Code Playgroud)