小编Dea*_*gor的帖子

如何使用data.table获取na.omit,只省略每列中的NA

让我说我有

az<-data.table(a=1:6,b=6:1,c=4)
az[b==4,c:=NA]
az
   a b  c
1: 1 6  4
2: 2 5  4
3: 3 4 NA
4: 4 3  4
5: 5 2  4
6: 6 1  4
Run Code Online (Sandbox Code Playgroud)

我可以得到所有列的总和

az[,lapply(.SD,sum)]
    a  b  c
1: 21 21 NA
Run Code Online (Sandbox Code Playgroud)

这是我想要的a,b但是cNA.这似乎很容易通过这样做来解决

az[,lapply(na.omit(.SD),sum)]
    a  b  c
1: 18 17 20
Run Code Online (Sandbox Code Playgroud)

这就是我想要的c,但我不想忽略的价值观ab哪里cNA.这是一个人为的例子,在我的真实数据中,可能有1000多个列,其中包含随机的NA.有没有办法获得na.omit或其他什么来处理每列而不是整个表,而不依赖于作为向量循环每列?

r data.table

4
推荐指数
1
解决办法
3767
查看次数

如何使用 R 保存带有记事本可以识别的换行符的 CSV 文件?

很抱歉因为编码问题打扰您。花了几个小时没有得到解决方案,我决定将其发布在这里。我试图使用Ubuntu 14.04 中的,​​ 编写一个简单的表write.table,但没有成功。由于 cronjob,我的数据有点混乱:write.csvwrite.csv2

ID <- c("",30,26,20,30,40,5,10,4)
b <- c("",2233,12,2,22,13,23,23,100)
c <- c("","","","","","","","","")
d <- c("","","","","","","","","")
e <- c("","","","","","800","","","")
f <- c("","","","","","","","","")
g <- c("","","","","","","","EA","")
h <- c("","","","","","","","","")
df <- data.frame(ID,b,c,d,e,f,g,h)

  # change columns to chr
for(i in c(1,2:ncol(df))) {
 df[,i] <- as.character(df[,i])
}

str(df)

# data.frame':  9 obs. of  8 variables:
#  $ ID: chr  "" "30" "26" "20" ...
#  $ b : chr  "" "2233" "12" "2" ...
#  $ c : …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
5427
查看次数

如何使用xmlsec(或其他更合适的包)签署XML

我从像这样的XML开始:

myXML="""<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mes="http://www.ercot.com/schema/2007-06/nodal/ews/message">
  <soapenv:Header> </soapenv:Header>
  <soapenv:Body>
  <RequestMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ercot.com/schema/2007-06/nodal/ews/message">
    <Header>
      <Verb>get</Verb>
      <Noun>BidSet</Noun>
      <ReplayDetection>
        <Nonce>177766768</Nonce>
        <Created>2018-10-22T09:03:33.169-05:00</Created>
      </ReplayDetection>
      <Revision>1</Revision>
      <Source>QSAMP</Source>
      <UserID>USER1</UserID>
      <MessageID>test</MessageID>
      <Comment>test</Comment>
    </Header>
    <Request>
      <ID>QSAMP.20181020.EB.AB_C.BID123</ID>
    </Request>
  </RequestMessage>
 </soapenv:Body>
</soapenv:Envelope>"""
Run Code Online (Sandbox Code Playgroud)

我需要签名才能看起来像这样

<soapenv:Envelope xmlns:mes="http://www.ercot.com/schema/2007-06/nodal/ews/message" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>
  <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1">
    <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-411BAD9927582E29B715402172715641">MIIEHTCCAwWgAwIBAgIBdDANBgkqhkiG9w0BAQsFADATMREwDwYDVQQKEwhFUkNPVERFVjAeFw0xNTA1MDYxODA4MjJaFw0yNTA1MDMxODA4MjJaMIIBHDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlRYMQ8wDQYDVQQHEwZUYXlsb3IxETAPBgNVBAoTCEVSQ09UREVWMRswGQYDVQQLExJFbXBsb3llZUlEIC0gVVNFUjExFzAVBgNVBAsTDk1QIC0gMDQzMjI2ODg1MSQwIgYDVQQLExtEVU5TIE51bWJlciAtIDA0MzIyNjg4NTIwMDAxGjAYBgNVBAsTEUVSQ09UIERldmVsb3BtZW50MQ4wDAYDVQQLEwVVU0VSMTEWMBQGA1UECxMNMDQzMjI2ODg1MjAwMDEcMBoGA1UEAxMTMDQzMjI2ODg1MjAwMCBVU0VSMTEeMBwGCSqGSIb3DQEJARYPdXNlcjFAZXJjb3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwBBaWstqWoqqJb+xAU6KGEMt+OkQY6ubbEEQml5SxkqDQRppo8U1kMHqKn4XhP3llZQGsMIBBMelb3nE9R3cDRmVcm3gJrj+pdeRh0ZGgPNwkASI/ev6SGGwWvDgAPNr8l+/UrrzgAMaYe9DrDEiFFZt+8Si3bbF4TEPM8F+6lJ2sNPU/5QBSv99v3QtZrqZvctSs9HCEfuoU9f2jHFCW46PWhH1dJUiyH24GPjaw+ZbVhrz1ccJH+JwZKybXgUdL5/fzcOfWveMXkTd6ai0/pSHiJRrT8oOXuaBsprDi0dKYbZTNx9d+8/HOugmP1J235Zg/mogP9h5lmjbw6lm7wIDAQABo3EwbzAdBgNVHQ4EFgQUCYkq9iXtxcS2GnQWwzBVQrefV3UwQwYDVR0jBDwwOoAUxY2QrudEPe3ldnlEenhuy/ehYUShF6QVMBMxETAPBgNVBAoTCEVSQ09UREVWggkA4jYWHOuW0D4wCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqVrVOfUbYotkL9Qmq5C8VYae+msJt4aG5SfXeWtND58DhDhx32PbWsFcQHPvJhHR+jV9dBg5yHkYMt712DJUsm2Fec+Cgc7yiJIFq1Pbs0cpe2NQqVJEaSzPyd6KB/nbJonIRtPFE+F4w4EHM+mbhdWecx7Tk8MH9235suZX50+uWPnnlYp9uJnqtJ13Mb6KObaCw/b8wXtFD1lu4B5p2W1vfgwhRR3Zh/f5AhuqaS+ZuMrwY7eM5LM278L5mzC+uYMT4fzzszDA3koXNTEqcCYCytj/sTO/UVqIO57/kU1l/ea+yj5E+Ak9yGBBu0sjua66bC5XwNFEOVrQLBkiUg==</wsse:BinarySecurityToken>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-411BAD9927582E29B715402172716115">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
    <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="mes soapenv"/>
    </ds:CanonicalizationMethod>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <ds:Reference URI="#id-411BAD9927582E29B715402172716114">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
    <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="mes"/>
    </ds:Transform>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>Vd6yUSv013P7ov8AzF2IbYv7yS4=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>SnC9RHluvHxfg3zvfmoGHrfh6zfXSGUmGv9V351uhWgTn546tTU0/5LiaPsFEcfVxyWsoouVsBV9 VwCbw++6FmtehSCPH6CAO+1NngiE+miK6QThSqKJXj/5CbHwwfeQHqWRmf45AlCwvQiWhVqGi/tq
  YViFi5t0aIMrdhLJDRNUv17UNPKVjcowyIbKLKQxSqNxB/PED8tF0oHC7rRmsEr3x7NqO/VZBWZd OgCQggWiAdXiBy+SwoooAufMs6t+2+YOFQtWLOHuIx79X+hFi3Gqff1I5vfiHust7/rZdSzx1wB/
    T+aeNGIeIzQDNQoC55lhomgV0xp/3tZPHSzrqA==</ds:SignatureValue>
    <ds:KeyInfo Id="KI-411BAD9927582E29B715402172716112">
    <wsse:SecurityTokenReference wsu:Id="STR-411BAD9927582E29B715402172716113"> …
Run Code Online (Sandbox Code Playgroud)

python soap xmlsec wsse

4
推荐指数
2
解决办法
693
查看次数

maxdrawdown函数

在R中,我看到有两个具有maxdrawdown函数的软件包。

一个是fTrading,另一个是PerformaceAnalytics

这些每个都进行不同的计算。

  1. fTrading似乎假设价值是资产的价格,因此亏损是在估值中。
  2. 这同样适用于PerformanceAnalytics,但它以百分比形式给出了答案。

是否有一个带有maxdrawdown函数的软件包,该软件包期望一系列P / L数据并基于该数据进行提取?

例如,如果您有以下数据

c(12,10,5,-4,-2,1,5,6)
Run Code Online (Sandbox Code Playgroud)

最大亏损为:

-4 + -2=-6.
Run Code Online (Sandbox Code Playgroud)

finance r

3
推荐指数
1
解决办法
5596
查看次数

将R randomForest对象保存到SQL数据库

有没有办法将randomForests对象(或其他大对象)从R保存到SQL数据库中.我唯一能想到的是dsub对象并将其保存为varchar(max)但是想知道是否还有其他方法.

sql r

3
推荐指数
1
解决办法
615
查看次数

如何选择所有列以及其他表达式

假设我从

mtcarsDT<-data.table(mtcars)
Run Code Online (Sandbox Code Playgroud)

我想要相当于

mtcarsDT[,.(mpg, cyl,  disp,  hp, drat,    wt,  qsec, vs, am, gear, carb, newcol=myFunc())]
Run Code Online (Sandbox Code Playgroud)

但我只想输入简短的内容,mtcarsDT[,.(.SD, newcol=myFunc())但语法当然行不通。

r data.table

3
推荐指数
1
解决办法
65
查看次数

如何将日期转换为极坐标中的时区感知日期时间

假设我有

\n
df = pl.DataFrame({\n    "date": pl.Series(["2022-01-01", "2022-01-02"]).str.strptime(pl.Date), "%Y-%m-%d")\n})\n
Run Code Online (Sandbox Code Playgroud)\n

如何将其本地化为特定时区并使其成为日期时间?

\n

我试过:

\n
df.select(pl.col('date').cast(pl.Datetime(time_zone='America/New_York')))\n
Run Code Online (Sandbox Code Playgroud)\n

但这给了我

\n
    shape: (2, 1)\n    date\n    datetime[\xce\xbcs, America/New_York]\n    2021-12-31 19:00:00 EST\n    2022-01-01 19:00:00 EST\n
Run Code Online (Sandbox Code Playgroud)\n

所以看起来它是从假设 na\xc3\xafve 日期时间是 UTC 开始的,然后应用转换。我设置了os.environ['TZ']='America/New_York',但得到了相同的结果。

\n

我查看了 API 指南中的 Polars 配置选项,看看是否还有其他需要设置的内容,但找不到有关默认时区的任何信息。

\n

python python-polars

3
推荐指数
1
解决办法
3017
查看次数

ggmap,使用coord_cartesian将所有点推到北方

正如标题所说,当我添加coord_cartesian到我的ggmap时,它会移动我的所有点.这是一些数据.

pricedata<-structure(list(nodename = c("CIN.WABRIVR.2", "CIN.WHEATCTG1", 
                                       "CONS.ADA", "CONS.ALCONA", "CONS.CADILAC", "CONS.CROTON", "CONS.GAYLORD1", 
                                       "CONS.GRATIOT1", "CONS.GRAYLGY2", "CONS.GRAYLNG", "CONS.HARDY", 
                                       "CONS.HILLMAN", "CONS.HODENPYL", "CONS.HOLL", "CONS.KALK", "CONS.KARN1", 
                                       "CONS.KENCNTY1", "CONS.LANS", "CONS.LUDINGTN1", "CONS.MIPOWER1", 
                                       "CONS.RENAIGEN1", "CONS.STRAITS", "CONS.TUSCOLA1", "CONS.VKLINCOLN", 
                                       "CONS.VKMCBAIN1", "CONS.ZEELAND1A"), 
                          lat = c(39.922328, 39.53, 42.962672, 44.561961, 44.26169, 43.437322, 45.0306, 43.433889, 
                                  43.408056, 44.604921, 43.486618, 45.0688, 44.36286, 42.7925, 44.6889, 43.644996, 
                                  42.949575, 42.719722, 43.8942, 43.9375, 43.1864, 45.766859, 43.525278, 44.68, 44.204, 42.8067), 
                          lon = c(-87.446358, -87.4247, -85.494071, -83.804505, -85.435224, -85.664462, -84.7039, -84.4975, -84.462222, 
                                  -84.690578, -85.629866, -83.8932, -85.819968, -86.092222, -85.2019, -83.840074, -85.693209, -84.551667, 
                                  -86.4447, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

2
推荐指数
1
解决办法
392
查看次数

操作 Polars 中的数据

一个愚蠢的问题。如何操作 Polars 中的列?

明确地说,我有一个包含 3 列的表: N ,幸存者,死亡

我想用 Deaths * N 替换 Deaths,用 Survivors * N 替换 Survivors

以下代码不起作用

table["SURVIVORS"] = table["SURVIVORS"]*table["N"]
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

TypeError: 'DataFrame' object does not support 'Series' assignment by index. Use 'DataFrame.with_columns'
Run Code Online (Sandbox Code Playgroud)

谢谢

python python-polars

2
推荐指数
1
解决办法
1563
查看次数

对表达式函数使用列表理解

假设我想制作一个函数列表,即aggs=['sum','std','mean','min','max']

那么如果我有一个任意的 df

df=pl.DataFrame({'a':[1,2,3], 'b':[2,3,4]})
Run Code Online (Sandbox Code Playgroud)

我希望能够做类似的事情(这显然行不通)

df.with_columns([pl.col('a').x() for x in aggs])
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点? aggs不需要是字符串列表,而只是为了这个问题的目的而键入我的意图的最简单方法。此外,它还需要有空间.suffix()

我知道我可以有一个函数,该函数包含函数中的所有 aggs 并接受任意 dfs 作为参数,这就像我的备份计划,所以我希望得到类似于上面的东西。

python list-comprehension python-polars

2
推荐指数
1
解决办法
227
查看次数

是否可以从Rcpp函数创建可共享包而不需要其他用户需要Rcpp?

我做了一个cppFunction按预期工作的功能,现在我希望我的同事能够使用它.是否可以创建一个编译我的cpp代码的包,以便包的其他用户不需要Rcpp?它似乎是这里的指南http://adv-r.had.co.nz/Rcpp.html#using-rcpp-in-a-package和这里http://cran.r-project.org/web/packages /Rcpp/vignettes/Rcpp-package.pdf创建将Rcpp作为依赖项的包.我是否正确阅读了这些指南,我想做的事情不容易做到?

r rcpp

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

如何从data.table中过滤行,其中任何列都是NA而不单独指定列

给出data.table

DT<-data.table(a=c(1,2,NA,4,5), b=c(2,3,4,NA,5),c=c(1,2,3,4,5),d=c(2,3,4,5,6))
Run Code Online (Sandbox Code Playgroud)

我怎么能做相同的

DT[!is.na(a) & !is.na(b) & !is.na(c) & !is.na(d)]
Run Code Online (Sandbox Code Playgroud)

以一般形式,不知道任何列名或键入!is.na()每个列.

我也可以

DT[apply(DT,1,function(x) !any(is.na(x)))] 但我想知道是否还有更好的方法.

r data.table

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