小编Joh*_*aul的帖子

在S4对象中使用S3类的示例

我想包含一个RODBC连接作为S4对象的一部分.看起来RODBC是S3.例如:

setClass(
  Class="Node",
  representation=representation(
    nodeName = "character",
    connection = "RODBC"
  )                    
)
Run Code Online (Sandbox Code Playgroud)

投掷undefined slot classes.它看起来像我想使用setOldClass,但我无法弄清楚如何使用它.假设我确实想要setOldClass,我将如何使用setOldClass以便将RODBC连接作为插槽添加到我的Node类中?

methods r s4

6
推荐指数
1
解决办法
357
查看次数

身份验证代币,本地存储和流星

我们正在运行一个Web应用程序(闪亮服务器,其中编码在R中完成)并且想要为其添加身份验证层.而不是在R中构建一些东西,我想到使用meteor来创建auth令牌等等.这是我想的方式:

  • 用户使用meteor和meteor登录会创建一个类似于下面的数据库条目:
    { "createdAt" : 1372521823708,
      "_id" : "HSdbPBuYy5wW6FBPL",
      "services" : { "password" : { "srp" : { "identity" : "vKpxEzXboBaQsWYyJ",
            "salt" : "KRt5HrziG6RDnWN8o",
            "verifier" : "8d4b6a5edd21ce710bd08c6affb6fec29a664fbf1f42823d5cb8cbd272cb9b2b3d5faa681948bc955353890f645b940ecdcc9376e88bc3dae77042d14901b5d22abd00d37a2022c32d925bbf839f65e4eb3a006354b918d5c8eadd2216cc2dbe0ce12e0ad90a383636a1327a91db72cf96cd4e672f68544eaea9591f6ed102e1" } },
        "resume" : { "loginTokens" : [ 
            { "token" : "t9Dxkp4ANsYKuAQav",
              "when" : 1372521823708 } ] } },
      "emails" : [ 
        { "address" : "example@example.com",
          "verified" : false } ] }
  • 用户被重定向到"旧应用程序".在这里我们检查本地存储(如果我们使用相同的向外主机和端口,应该是与meteor相同的本地存储,对吗?)并找到以下信息:
    Meteor.loginToken: t9Dxkp4ANsYKuAQav
    Meteor.userId: HSdbPBuYy5wW6FBPL
  • 本地存储数据由"其他应用程序"调查,它对meteor db执行简单的数据库查询,以验证本地存储信息是否与数据库中的信息匹配.也许还会检查某种到期日期.如果匹配,则应用程序呈现,否则不呈现.

这是一种非常安全的方式吗?是否可以在应用程序之间共享本地存储?

authentication local-storage meteor shiny-server

6
推荐指数
1
解决办法
1540
查看次数

如何在滑块标签中添加符号?

我正在尝试将符号和数学表达式添加到滑块标签,例如,而不是"选择lambda:"我希望标签为"选择λ:".我尝试了HTML和表达式()的多种变体,例如:

sliderInput ("lambda1", label=HTML("Choose &-lambda;:"), min=0, max=10, value=1.1, step=0.1) 
Run Code Online (Sandbox Code Playgroud)

删除了连字符(我把它放在那里以打败这个编辑器中的格式).

和:

sliderInput("lambda1", label=expression(lambda), min=0, max=10, value=1.1, step=0.1).
Run Code Online (Sandbox Code Playgroud)

在所有情况下,标签显示为" Choose &-lambda;:"(不带连字符)而不是"选择λ:".

我还需要下标和上标,但尚未尝试任何代码.我认为如果我能得到HTML符号,我将能够使用适当的标签格式化下标.

编辑
抱歉,我无法回答自己,因为我是新用户.我找到了问题的希腊符号部分的答案.具有讽刺意味的是,因为我已经在这个问题上打了一个星期,然后在问题发布后一个小时我发现了.D'哦!

用括号括HTML()起来div(HTML()).正是如此:

sliderInput ("lambda1", label=div(HTML("Choose &-lambda;:")), min=0, max=10, value=1.1, step=0.1),
Run Code Online (Sandbox Code Playgroud)

再次没有连字符&-lambda;.

那很有效!

r shiny

6
推荐指数
1
解决办法
818
查看次数

用于 !(或任何逻辑运算符)%>%(magrittr)会产生意外输出

我遇到过这样一种情况,%>%当结合使用时产生非常惊人的输出!.请考虑以下代码:

x <- c(1:20)
y <- !is.na(x)

> y
 [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 
     TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

> sum(Y)
[1] 20
Run Code Online (Sandbox Code Playgroud)

好的,没什么好惊的.但如果我尝试使用%>%奇怪的东西来缩短它:

!is.na(x) %>% sum

[1] TRUE
Run Code Online (Sandbox Code Playgroud)

TRUE?? 不是我的预期 - 它应该是20.

如果我删除!它给我0按预期:

> is.na(x) %>% sum
[1] 0
Run Code Online (Sandbox Code Playgroud)

如果我添加括号,它的工作原理:

> {!is.na(x)} %>% sum
[1] 20
Run Code Online (Sandbox Code Playgroud)

!作为一个功能处理工作:

> is.na(x) %>% `!` %>% sum
[1] …
Run Code Online (Sandbox Code Playgroud)

r magrittr

6
推荐指数
1
解决办法
183
查看次数

以动态pythonic方式查找部分有序集中的最小元素

假设Os是一个部分有序的集合,并且在Os中给出任意两个对象O1和O2,如果O1大于O2,则F(O1,O2)将返回1,如果O1小于O2则返回-1,如果它们是无比的则为2,如果O1等于O2则为0.

我需要找到元素的子集Mn是最小的Os.对于Mn中的每个A,对于Os中的每个B,F(A,B)永远不等于1.

这并不难,但我确信它可以用更加pythonic的方式完成.

快速而肮脏的方式是:

def GetMinOs(Os):
    Mn=set([])
    NotMn=set([])
    for O1 in Os:
       for O2 in Os:
           rel=f(O1,O2)
           if rel==1:       NotMn|=set([O1])
           elif rel==-1:    NotMn|=set([O2])
    Mn=Os-NotMn
    return Mn
Run Code Online (Sandbox Code Playgroud)

特别是我对我基本上经历所有元素N ^ 2次的事实感到不满意.我想知道是否会有一种动态的方式.通过"动态",我并不仅仅意味着快速,而且一旦被发现的东西不是最小的可能,也许它可以被取消.并以pythonic,优雅的方式完成所有这些

python algorithm math

5
推荐指数
1
解决办法
315
查看次数

补丁在什么具体情况下无法应用?

git在由(即统一差异格式)生成和应用的补丁的上下文中......

补丁要干净地贴上需要什么?上下文必须完全匹配吗?如果缺少或添加了一行上下文,会发生什么情况?它是否必须匹配完全相同的行号,或者git如果内容发生了一些变化,它是否会在文件中查找附近的内容?

当我搜索时,谷歌对此几乎没有什么可说的,手册也没有。

linux git patch

5
推荐指数
1
解决办法
345
查看次数

覆盖R lattice parallelplot auto.key图例颜色

我使用晶格包parallelplot方法绘制数据并遇到生成图例的麻烦.我为绘图创建了一个自定义颜色矢量,但找不到传递它们的方法来覆盖图例中显示的默认颜色.虽然我已经没时间了,最​​终在Photoshop中修正了图例颜色,但我想学习在格子中执行此操作的正确方法.

以下是使用4列图例生成绘图的代码:

parallelplot(acc, horizontal.axis=FALSE, col=acc_colors, lwd=1.5, cex=2.5, 
    ylab="Accuracy (Min = 50%, Max = 100%)", 
    xlab="Activity (overall = average across activities)", 
    main="Human Activity Recognition Accuracy", 
    scales=list(cex=1), 
    auto.key=list(text=c("Test Set", "Test Subject", "Training Set", "Training Subject"), 
    title=" ", 
    space="top", columns=4, points=FALSE) 
)
Run Code Online (Sandbox Code Playgroud)

有关如何传递自定义图例颜色的任何想法?

r lattice

5
推荐指数
1
解决办法
2518
查看次数

显示与特定类关联的方法

我想查看与某个对象类关联的所有方法的列表.例如,如果我看到一些模型拟合例程返回类"富"的目标,我想知道,如果包(或任何其它封装)定义方法,如simulate.foo,update.foo,coef.foo,print.foo等我该怎么办呢?

我知道这methods解决了逆问题(假设有一个S3类),但显然我不想搜索已定义print函数的每个对象,以便找出我感兴趣的类是否有一个.我可能在这里忘记了一些非常简单的事情.谢谢!

(理想情况下,看到S3和S4类的解决方案会很好).

更新:理想情况下,解决方案应该显示隐藏的方法,就像methods函数一样.例如,methods("simulate")显示:

> methods("simulate")
[1] simulate.lm*
Run Code Online (Sandbox Code Playgroud)

因此,在查询与lm该类关联的方法时,我们希望恢复此模拟方法.

r class s4 r-s3

5
推荐指数
1
解决办法
1120
查看次数

R/zoo:'order.by'中的索引条目不是唯一的

我有一个.csv文件,其中包含一列日期/时间的4列数据,间隔为一分钟.有些时间戳丢失,所以我试图生成缺少的日期/时间并在Y列中为它们分配NA值.我以前使用其他.csv文件完全相同的格式,没有问题.代码是:

# read the csv file
har10 = read.csv(fpath, header=TRUE);

# set date
har10$HAR.TS<-as.POSIXct(har10$HAR.TS,format="%y/%m/%d %H:%M")

# convert to zoo
df1.zoo<-zoo(har10[,-1],har10[,1]) #set date to Index

# merge and generate NAs
df2 <- merge(df1.zoo,zoo(,seq(start(df1.zoo),end(df1.zoo),by="min")), all=TRUE)

# write zoo object to .csv file in Home directory
write.zoo(df2, file = "har10fixed.csv", sep = ",")
Run Code Online (Sandbox Code Playgroud)

在转换为POSIXct后,我的数据看起来像这样(整整一年,或多或少),这似乎很好:

                    HAR.TS        C1       C2         C3        C4
1      2010-01-01 00:00:00 -4390.659 5042.423 -2241.6344 -2368.762
2      2010-01-01 00:01:00 -4391.711 5042.056 -2241.1796 -2366.725
3      2010-01-01 00:02:00 -4390.354 5043.003 -2242.5493 -2368.786
4      2010-01-01 00:03:00 …
Run Code Online (Sandbox Code Playgroud)

r date time-series zoo

5
推荐指数
1
解决办法
8856
查看次数

使用do.call进行通用S4方法

我有一个参数列表,并希望通过do.call调用B(var3 = list(1:3)).但是下面的示例仅调用dispatch"missing"的方法.如何访问调度方法"ANY"?

B.initialize<-function(..., var3=list()){
  callSuper(..., var3=as.list(var3))
}

.B<-setRefClass(Class = "B"
               ,fields = list(var3 = "list")
               ,methods = list(initialize=B.initialize))
setGeneric("B", function(x, ...) standardGeneric("B"))
setMethod("B", "missing", function(x, ...) {
  .B()
})
setMethod("B", "ANY", function(x, ...) {
  .Part(var1=x, ...)
})
do.call(B,list(var3=list(1:3)))
Run Code Online (Sandbox Code Playgroud)

r generic-method s4

5
推荐指数
0
解决办法
165
查看次数