我想点击一个按钮重新加载一个div.我不想重新加载整页.
这是我的代码:
HTML:
<div role="button" class="marginTop50 marginBottom">
<input type="button" id="getCameraSerialNumbers" value="Capture Again" class="disabled" />
<input type="button" id="confirmNext" value="Confirm & Proceed" class="disabled marginLeft50" />
</div>
Run Code Online (Sandbox Code Playgroud)
单击<input type="button" id="getCameraSerialNumbers" value="Capture Again">
按钮时,<div id="list">....</div>
应重新加载而不加载或刷新整页.
下面是我试过的Jquery,但没有工作: -
$("#getCameraSerialNumbers").click(function () {
$("#step1Content").load();
});
Run Code Online (Sandbox Code Playgroud)
请建议.
这是我页面上的DIV,其中包含一些产品的图片和序列号......这将是第一次在Page Load上的数据库.但是,如果用户面临一些问题,他将点击"再次捕获"按钮" <input type="button" id="getCameraSerialNumbers" value="Capture Again">
",这将再次加载这些信息.
HTML代码: -
<div id="step1Content" role="Step1ShowCameraCaptures" class="marginLeft">
<form>
<h1>Camera Configuration</h1>
<!-- Step 1.1 - Image Captures Confirmation-->
<div id="list">
<div>
<p>
<a id="pickheadImageLightBox" data-lightbox="image-1" title="" href="">
<img alt="" id="pickheadImage" src="" width="250" …
Run Code Online (Sandbox Code Playgroud) 我需要在页面上保存一些内容时自动打开用户的默认电子邮件客户端.我需要填充电子邮件主题,解决并在电子邮件正文中添加一些内容.
实现这一目标的最佳选择是什么?
我知道该mailto:
属性,但用户必须点击这个,我不确定它是否允许您指定主题和内容?
所以我读了其他帖子,但这个问题很独特.所以这个SQL转储文件将此作为最后一个条目.
INSERT INTO `wp_posts` VALUES(2781, 3, '2013-01-04 17:24:19', '2013-01-05 00:24:19'.
Run Code Online (Sandbox Code Playgroud)
我正在尝试将此值插入表中...
INSERT INTO `wp_posts` VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'
Run Code Online (Sandbox Code Playgroud)
它给了我错误,"列数与第1行的值计数不匹配" 所以我迷失在这里如何应用列和行的概念.
2781,3
第2781行和第3列不代表?并不5,5
意味着第5行和第5列?
是否有一种"非内部"方式来获取呼叫者的姓名,就像功能stop
一样?
我的想法是,我有一个小函数来检查输入,如果不满足某些条件,则暂停执行.其他几个使用相同的验证代码调用此函数.如果输入无效,则转储调用者的环境(因此我可以看到传递给函数的参数),并且执行暂停.
简化示例:
check <- function(x)
{
if(x<0)
{
print(as.list(parent.frame()))
evalq(stop("invalid input."), parent.frame())
}
}
test <- function(x, y)
{
check(x)
}
Run Code Online (Sandbox Code Playgroud)
我认为quote(stop("blah"))
在调用者的环境中评估表达式会使它显示调用者的名字.但是,结果如下:
test(-1, 2)
# $x
# [1] -1
#
# $y
# [1] 2
#
# Error in eval(substitute(expr), envir, enclos) : invalid input.
Run Code Online (Sandbox Code Playgroud)
如果我用这个不会改变parent.frame(n)
与n>1
在evalq
.
所以这是一个问题,实际上有两个问题:1.有没有办法获得创建环境的函数的名称(假设它是这样创建的)?2.为什么上面的解决方法失败了?
编辑:我说上面的解决方法失败,因为我希望错误消息显示为
Error in test(x, y) : invalid input.
Run Code Online (Sandbox Code Playgroud)
好像stop
声明是test
身体的一部分.所以问题2可以重述为:2':为什么没有评估stop("invalid input.")
捕获呼叫者的名字,考虑到它是在呼叫者的环境中进行评估的?
R是否具有以块对角线形状绑定矩阵的基函数?
以下是这项工作,但我想知道是否有标准的方法:
a <- matrix(1:6, 2, 3)
b <- matrix(7:10, 2, 2)
rbind(cbind(a, matrix(0, nrow=nrow(a), ncol=ncol(b))),
cbind(matrix(0, nrow=nrow(b), ncol=ncol(a)), b))
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 3 5 0 0
#[2,] 2 4 6 0 0
#[3,] 0 0 0 7 9
#[4,] 0 0 0 8 10
Run Code Online (Sandbox Code Playgroud) 通过在R中使用函数,我发现它有更多的方面,而不是眼睛.
考虑一下简单的函数赋值,直接在控制台中输入:
f <- function(x)x^2
Run Code Online (Sandbox Code Playgroud)
从f
广义上讲,通常的"属性" 是(i)正式论证清单,(ii)身体表达和(iii)将成为功能评估框架的环境.可通过以下方式访问:
> formals(f)
$x
> body(f)
x^2
> environment(f)
<environment: R_GlobalEnv>
Run Code Online (Sandbox Code Playgroud)
此外,str
返回更多信息附加到f
:
> str(f)
function (x)
- attr(*, "srcref")=Class 'srcref' atomic [1:8] 1 6 1 19 6 19 1 1
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x00000000145a3cc8>
Run Code Online (Sandbox Code Playgroud)
让我们试着联系到他们:
> attributes(f)
$srcref
function(x)x^2
Run Code Online (Sandbox Code Playgroud)
这是作为文本打印,但它存储为数字向量:
> c(attributes(f)$srcref)
[1] 1 6 1 19 6 19 1 1
Run Code Online (Sandbox Code Playgroud)
而且这个对象也有自己的属性:
> attributes(attributes(f)$srcref)
$srcfile
$class
[1] "srcref"
Run Code Online (Sandbox Code Playgroud)
第一个是环境,有3个内部对象:
> mode(attributes(attributes(f)$srcref)$srcfile)
[1] "environment"
> …
Run Code Online (Sandbox Code Playgroud) 考虑以下简单功能:
f <- function(x, value){print(x);print(substitute(value))}
Run Code Online (Sandbox Code Playgroud)
争论x
最终会被评估print
,但value
绝不会.所以我们可以得到这样的结果:
> f(a, a)
Error in print(x) : object 'a' not found
> f(3, a)
[1] 3
a
> f(1+1, 1+1)
[1] 2
1 + 1
> f(1+1, 1+"one")
[1] 2
1 + "one"
Run Code Online (Sandbox Code Playgroud)
一切都如预期的那样.
现在考虑替换函数中的相同函数体:
'g<-' <- function(x, value){print(x);print(substitute(value))}
Run Code Online (Sandbox Code Playgroud)
(单引号应该是花哨的引号)
我们来试试吧:
> x <- 3
> g(x) <- 4
[1] 3
[1] 4
Run Code Online (Sandbox Code Playgroud)
到目前为止没什么异常的......
> g(x) <- a
Error: object 'a' not found
Run Code Online (Sandbox Code Playgroud)
这是出乎意料的.名称a
应打印为语言对象.
> g(x) …
Run Code Online (Sandbox Code Playgroud) 计算R中向量中每个唯一元素的出现次数的最快方法是什么?
到目前为止,我已经尝试了以下五个功能:
f1 <- function(x)
{
aggregate(x, by=list(x), FUN=length)
}
f2 <- function(x)
{
r <- rle(x)
aggregate(r$lengths, by=list(r$values), FUN=sum)
}
f3 <- function(x)
{
u <- unique(x)
data.frame(Group=u, Counts=vapply(u, function(y)sum(x==y), numeric(1)))
}
f4 <- function(x)
{
r <- rle(x)
u <- unique(r$values)
data.frame(Group=u, Counts=vapply(u, function(y)sum(r$lengths[r$values==y]), numeric(1)))
}
f5 <- function(x)
{
as.data.frame(unclass(rle(sort(x))))[,2:1]
}
Run Code Online (Sandbox Code Playgroud)
他们中的一些人没有按类别给出结果,但这并不重要.以下是结果(使用包microbenchmark
):
> x <- sample(1:100, size=1e3, TRUE); microbenchmark(f1(x), f2(x), f3(x), f4(x), f5(x))
Unit: microseconds
expr min lq median uq max neval
f1(x) 4133.353 4230.3700 …
Run Code Online (Sandbox Code Playgroud) 给定包含捕获组(括号)和字符串的正则表达式,如何获得与捕获组匹配的所有子字符串,即通常由"\ 1","\ 2"引用的子字符串?
示例:考虑前缀为"xy"的正则表达式捕获数字:
s <- "xy1234wz98xy567"
r <- "xy(\\d+)"
Run Code Online (Sandbox Code Playgroud)
期望的结果:
[1] "1234" "567"
Run Code Online (Sandbox Code Playgroud)
第一次尝试gregexpr
:
regmatches(s,gregexpr(r,s))
#[[1]]
#[1] "xy1234" "xy567"
Run Code Online (Sandbox Code Playgroud)
不是我想要的,因为它返回匹配整个模式的子串.
第二次尝试regexec
:
regmatches(s,regexec("xy(\\d+)",s))
#[[1]]
#[1] "xy1234" "1234"
Run Code Online (Sandbox Code Playgroud)
不是我想要的,因为它返回只为整个模式和捕获组匹配第一次出现的.
如果有一个gregexec
函数,扩展regexec
为gregexpr
扩展regexpr
,我的问题将得到解决.
所以问题是:如何检索regmatches
在任意正则表达式中匹配捕获组的所有子串(或可以传递给上面示例的索引)?
注意:r
上面给出的模式只是一个愚蠢的例子,它必须保持随意.
我从csv文件中读取数据.如果我在R中看到这个文件,我有:
V1 V2 V3 V4 V5 V6 V7
1 14 25 83 64 987 45 78
2 15 65 789 32 14 NA NA
3 14 67 89 14 NA NA NA
Run Code Online (Sandbox Code Playgroud)
如果我想要每列中的最大值,我使用这个:
apply(df,2,max)
Run Code Online (Sandbox Code Playgroud)
这就是结果:
V1 V2 V3 V4 V5 V6 V7
15 67 789 64 NA NA NA
Run Code Online (Sandbox Code Playgroud)
但它适用于没有的列NA
.如何更改我的代码,以及比较列NA
?