我有一个变量名保存在字符串变量中which_id.
W是一个data.table.我怎么叫setkey上W同which_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会将其中一列读作字符字段.
> 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) 我正在尝试登录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) 为了运行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) 为什么这不会导致错误?
> 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) 我正在尝试向stdout流添加标头.我能想到的最好的是以下内容,使用临时文件和cat连字符选项.如何将其转换为单线管道?谢谢.
python myscript.py myparm > tmp
echo 'a,b,c' | cat - tmp > output
Run Code Online (Sandbox Code Playgroud) 我试图加载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) 使用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 ×5
amazon-ec2 ×1
apache-spark ×1
bash ×1
data.table ×1
ftp ×1
ftps ×1
lftp ×1
ssh ×1
ubuntu ×1