我正在使用类似于这个的数据框:
df<-data.frame(student=c(rep(1,5),rep(2,5)), month=c(1:5,1:5),
quiz1p1=seq(20,20.9,0.1),quiz1p2=seq(30,30.9,0.1),
quiz2p1=seq(80,80.9,0.1),quiz2p2=seq(90,90.9,0.1))
print(df)
student month quiz1p1 quiz1p2 quiz2p1 quiz2p2
1 1 1 20.0 30.0 80.0 90.0
2 1 2 20.1 30.1 80.1 90.1
3 1 3 20.2 30.2 80.2 90.2
4 1 4 20.3 30.3 80.3 90.3
5 1 5 20.4 30.4 80.4 90.4
6 2 1 20.5 30.5 80.5 90.5
7 2 2 20.6 30.6 80.6 90.6
8 2 3 20.7 30.7 80.7 90.7
9 2 4 20.8 30.8 80.8 90.8
10 2 5 20.9 30.9 …Run Code Online (Sandbox Code Playgroud) 我的第一列是一个索引,数字单调递增,结束于一个不可预测的点.现在我想知道这个专栏有多少条目.有没有比通过迭代更好的方式并注意一个空单元?
我发现了两个线程对这个话题在R.计算十分位数然而,这两种方法,即dplyr::ntile和quantile()产生不同的输出.实际上,dplyr::ntile()无法输出正确的十分位数.
方法1:使用ntile()
从R:将数据集拆分为四分位数/十分位数.什么是正确的方法?线程,我们可以使用ntile().
这是我的代码:
vector<-c(0.0242034679584454, 0.0240411606258083, 0.00519255930109344,
0.00948031338483081, 0.000549450549450549, 0.085972850678733,
0.00231687756193192, NA, 0.1131625967838, 0.00539244534707915,
0.0604885614579294, 0.0352030947775629, 0.00935626135385923,
0.401201201201201, 0.0208212839791787, NA, 0.0462887301644538,
0.0224952741020794, NA, NA, 0.000984952654008562)
ntile(vector,10)
Run Code Online (Sandbox Code Playgroud)
输出是:
ntile(vector,10)
5 5 2 3 1 7 1 NA 8 2 7 6 3 8 4 NA 6 4 NA NA 1
Run Code Online (Sandbox Code Playgroud)
如果我们分析这个,我们看到没有第10个分位数!
方法2:使用quantile() 现在,让我们使用如何通过在数据框线程中对列进行排序来快速形成组(四分位数,十分位数等)中的方法.
这是我的代码:
as.numeric(cut(vector, breaks=quantile(vector, probs=seq(0,1, length = 11), na.rm=TRUE),include.lowest=TRUE))
Run Code Online (Sandbox Code Playgroud)
输出是:
7 6 2 4 1 …Run Code Online (Sandbox Code Playgroud) 有人可以帮我解决这个问题吗?
有3个表有2个外键:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Schema::create('firms', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->nullable();
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
Schema::create('jobs', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->nullable();
$table->integer('firm_id')->unsigned()->nullable();
$table->foreign('firm_id')->references('id')->on('firms');
$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)
运行迁移后出错:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table `job`.`#sql-5fc_a1`
(errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter ta
ble `firms` add constraint `firms_user_id_foreign` foreign key (`user_id`)
references `users` (`id`))
[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table `job`.`#sql-5fc_a1`
(errno: 150 "Foreign …Run Code Online (Sandbox Code Playgroud) 我正在尝试Application.Quit在运行所有函数后关闭access().
所有功能完成后VBA关闭访问 一直是我的参考.
但是当我Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long),它给了我
必须更新此项目中的代码才能在64位系统上使用.错误
在完全关闭访问权限之前,是否有替换此代码来运行所有功能?
任何帮助将不胜感激.谢谢.
我试图在Excel中编写一些VBA,它可以将表(列表对象)的名称作为参数并返回行数.
以下工作,但不允许我传入带有表名的字符串.
MsgBox ([MyTable].Rows.Count)
Run Code Online (Sandbox Code Playgroud)
以下给出了错误:
所需对象
v_MyTable = "MyTable"
MsgBox (v_MyTable.Rows.Count)
Run Code Online (Sandbox Code Playgroud)
以下给出了错误:
对象变量或未设置块变量
v_MyTable_b = "[" & "MyTable" & "]"
MsgBox(v_MyTable_b.Rows.Count)
Run Code Online (Sandbox Code Playgroud)
我也尝试使用ListObjects,我是新手.我收到错误:
Object不支持此属性或方法
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("MyTable")
MsgBox(tbl.Rows.Count)
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
为什么Presto比Spark SQL更快?Presto和Spark SQL在计算架构和内存管理方面有什么区别?
我想传递一个数据框及其列,以便在函数中由dplyr的mutate处理.
这是一个例子
multifun <- function(dataf,vari){
mutate(dataf,newvar=vari*2)
}
multifun(mtcars,gear)
Run Code Online (Sandbox Code Playgroud)
此功能的问题在于变量"gear"不是可识别的对象.更具体地说,我得到了错误
mutate_impl(.data,named_dots(...),environment())错误找不到对象'gear'
这是dplyr的mutate正在寻找有问题的变量的环境问题.
我明白那个
multifun(mtcars,mtcars$gear)
Run Code Online (Sandbox Code Playgroud)
会给我一个我想要的答案,即
mpg cyl disp hp drat wt qsec vs am gear carb newvar
1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 8
2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 8
3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 8
Run Code Online (Sandbox Code Playgroud)
但我想看看是否有办法避免在函数调用中引用数据框中使用的每个变量.
我也知道从函数调用中取出mutate没有问题.也就是说,mutate(mtcars,newvar=gear*2)这份工作.但是,我试图理解dplyr的mutate在置于函数内时如何在不同的环境中查找有问题的变量.
正如我在这里学到的(也在SO中引用),以下代码可用于选择第3列的数据主体Table1:
ActiveSheet.ListObjects("Table1").ListColumns(3).DataBodyRange.Select
Run Code Online (Sandbox Code Playgroud)
我需要帮助一起选择多个列 - 比如列3到5,或列X到X + 3.
使用这个问题的答案,我想通过使用实际的列名来中途使用:
Range("Table1[[Column3]:[Column5]]").Select
Run Code Online (Sandbox Code Playgroud)
但我需要能够使用列号而不是名称,因为它们将是函数的结果(即列X到X + d).
我正在寻找一个标准,用于=countif(range_of_formulas, [criterion])识别公式的非空白结果.我发现不少的,如"<>","<>"&"","<>""",">""","*"和更多的(例如,在SO 这里和这里).但是每个标准似乎只在某些情况下起作用而在其他情况下不起作用,并且在以下情况下它们都会失败:
列A和B包含我的原始数据.D列显示了您在C列中看到的公式的结果.列F显示了countif使用不同标准(如E列所示)计算D列中非空白结果的结果.它们都没有到达正确的计数 - 5.
在我的研究中(以及在我编辑以缩小范围之前,在这个问题的答案中)我已经看到了许多可以得到正确计数的变通方法.但我要问的是,是否存在可以使用的标准countif,或者是否countif 无法可靠地计算非空白公式结果?
(或者也许有人可以说它可以或不可以使用哪种条件).
excel ×4
vba ×4
excel-vba ×3
r ×3
dplyr ×2
access-vba ×1
countif ×1
excel-tables ×1
laravel-5.3 ×1
ms-access ×1
mysql ×1
php ×1
presto ×1
reshape ×1
reshape2 ×1