小编use*_*469的帖子

data.table:使用带有列名变量的setkey

我有一个变量名保存在字符串变量中which_id.

W是一个data.table.我怎么叫setkeyWwhich_id

这就是我尝试过的

 > eval( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"
Run Code Online (Sandbox Code Playgroud)

但打电话tables()表明customer_id_A钥匙没有采取.

 > evalq( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"
Run Code Online (Sandbox Code Playgroud)

customer_id_A 关键仍然没有采取.

 > setkeyv( W , cols=which_id )
Run Code Online (Sandbox Code Playgroud)

 > setkeyv( W , cols=c( which_id ) )
Run Code Online (Sandbox Code Playgroud)

- >同样的事情,customer_id_A关键不在那里.

有什么指针吗?

r data.table

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

为什么R读取数字数据作为字符?

我正在尝试加载包含整数和浮点数据的文件.我不知道为什么R会将其中一列读作字符字段.

 > df <- read.table( 'C:\\temp\\test.tab' , 
 +                   sep = '\t' , header = TRUE , stringsAsFactors = FALSE , dec="." )
 > str(df)
 'data.frame':  7 obs. of  5 variables:
  $ A: int  0 0 0 0 1 0 0
  $ B: int  1431 2097 2712 24821 27359 41165 49221
  $ C: int  0 0 0 0 0 0 0
  $ D: chr  "7" "26.950000762939453" "57.95000076293945" "21" ...
  $ E: int  1 2 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)

文件内容:

 A …
Run Code Online (Sandbox Code Playgroud)

r

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

如何让lftp从命令行使用SSL/TLS安全机制?

我正在尝试登录ftps网站.我已经尝试在命令行中输入登录信息(并将set参数放入~/.lftprc,然后打开lftp会话并使用lftp作业控制语句键入这些参数.无论如何,我一直遇到相同的障碍:

 421 Sorry, cleartext sessions are not accepted on this server.
 Please reconnect using SSL/TLS security mechanisms.
Run Code Online (Sandbox Code Playgroud)

我得到了以下参数最远,但不断得到上面的错误.

如何lftp从命令行使用SSL/TLS安全机制?

目标是使用bash(不使用编程expect)编写对此ftps站点的访问的脚本.

 lftp
 lftp :~> set ssl-allow false
 lftp :~> set passive-mode yes
 lftp :~> open ftp.abc.com
 lftp ftp.abc.com:~> login theuser
 Password:
 lftp theuser@ftp.abc.com:~> cd
  `cd' at 0 [Delaying before reconnect: 26]
 CTRL-C
 lftp theuser@ftp.abc.com:~> debug
 lftp theuser@ftp.abc.com:~> cd
 ---- Connecting to ftp.abc.com (XX.XXX.XX.XX) port 21
 <--- 220-Welcome …
Run Code Online (Sandbox Code Playgroud)

ftp ubuntu ftps lftp

7
推荐指数
4
解决办法
5万
查看次数

从EC2实例中调用spark-ec2:ssh与主机的连接被拒绝

为了运行Amplab的训练练习,我创建了一个密钥对us-east-1,安装了训练脚本(git clone git://github.com/amplab/training-scripts.git -b ampcamp4)并创建了env.变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY遵循http://ampcamp.berkeley.edu/big-data-mini-course/launching-a-bdas-cluster-on-ec2.html中的说明

现在正在运行

 ./spark-ec2 -i ~/.ssh/myspark.pem -r us-east-1  -k myspark --copy launch try1
Run Code Online (Sandbox Code Playgroud)

生成以下消息:

 johndoe@ip-some-instance:~/projects/spark/training-scripts$ ./spark-ec2 -i ~/.ssh/myspark.pem -r us-east-1  -k myspark --copy launch try1
 Setting up security groups...
 Searching for existing cluster try1...
 Latest Spark AMI: ami-19474270
 Launching instances...
 Launched 5 slaves in us-east-1b, regid = r-0c5e5ee3
 Launched master in us-east-1b, regid = r-316060de
 Waiting for instances to start up...
 Waiting 120 more seconds...
 Copying SSH key /home/johndoe/.ssh/myspark.pem to master... …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-ec2 apache-spark

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

为什么R找到不在data.frame中的data.frame变量?

为什么这不会导致错误?

> str(u)
'data.frame':   8879 obs. of  2 variables:
 $ bundle_qty: int  1 1 1 1 1 1 1 1 1 1 ...
 $ mail_a    : num  1 1 1 1 0 0 0 1 1 0 ...

> head(u$mail)
[1] 1 1 1 1 0 0
Run Code Online (Sandbox Code Playgroud)

变量mail不在data.frame中u!不应该u$mail回来NULL

即使我从头开始使用虚拟数据:

> rm(list=ls())
> u <- data.frame( bundle_qty = c(1,1,1,1), mail_a = c(1,1,1,1))
> str(u)
'data.frame':   4 obs. of  2 variables:
 $ bundle_qty: num …
Run Code Online (Sandbox Code Playgroud)

r

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

在单行bash管道中将标头添加到stdout流

我正在尝试向stdout流添加标头.我能想到的最好的是以下内容,使用临时文件和cat连字符选项.如何将其转换为单线管道?谢谢.

python myscript.py myparm > tmp
echo 'a,b,c' | cat - tmp  > output
Run Code Online (Sandbox Code Playgroud)

bash

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

更新R中的包:`update.packages`与`install.packages`

我试图加载party库并得到以下错误:

 Loading required package: zoo
 Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
   namespace ‘lattice’ 0.20-24 is already loaded, but >= 0.20.27 is required
 Error: package ‘zoo’ could not be loaded
Run Code Online (Sandbox Code Playgroud)

所以我决定更新同一个会话中的所有包(在R中工作时分离所有包),包括lattice,希望zoo然后在更新party后再正确加载lattice:

 pkgs <- names( sessionInfo()$otherPkgs )
 pkgs <- paste('package:', pkgs, sep = "")
 lapply( pkgs , detach, character.only = TRUE, unload = TRUE)
 update.packages(checkBuilt=TRUE, ask=FALSE,
                 repos="http://r-forge.r-project.org",
                 oldPkgs=c("lattice","zoo","party")
 )
Run Code Online (Sandbox Code Playgroud)

它不起作用(在同一个会话中并且在没有预加载的情况下重新启动之后.RData):

 > library(party)
 Loading …
Run Code Online (Sandbox Code Playgroud)

r

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

集合函数中的子集参数

使用subset函数中的参数获得了意外的结果aggregate,因此尝试了以下操作。

 > A <- data.frame( d1=c(1,1,1,2,2,2), d2=c(1,1,2,2,3,3) , n=c(13,24,54,24,12,32) )
 > aggregate( A[,c("n"),drop=FALSE] , A[,c("d1","d2")] , FUN=sum )
   d1 d2  n
 1  1  1 37
 2  1  2 54
 3  2  2 24
 4  2  3 44
Run Code Online (Sandbox Code Playgroud)

确实有道理。

 > aggregate( A[rep(TRUE,6),c("n"),drop=FALSE] , A[rep(TRUE,6),c("d1","d2")] , FUN=sum )
   d1 d2  n
 1  1  1 37
 2  1  2 54
 3  2  2 24
 4  2  3 44
Run Code Online (Sandbox Code Playgroud)

这确实是有道理的,但却是限制观察的复杂方法。

以下内容是否应返回与上述相同的结果?为什么不呢?

 > aggregate( A[,c("n"),drop=FALSE] , A[,c("d1","d2")] , FUN=sum , subset=rep(TRUE,6) …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×5

amazon-ec2 ×1

apache-spark ×1

bash ×1

data.table ×1

ftp ×1

ftps ×1

lftp ×1

ssh ×1

ubuntu ×1