在data.tableFAQ中,该nomatch = NA参数被称为类似于外连接.但是,我一直没能得到data.table做一个全外连接-只有右外连接.
例如:
a <- data.table("dog" = c(8:12), "cat" = c(15:19))
dog cat
1: 8 15
2: 9 16
3: 10 17
4: 11 18
5: 12 19
b <- data.table("dog" = 1:10, "bullfrog" = 11:20)
dog bullfrog
1: 1 11
2: 2 12
3: 3 13
4: 4 14
5: 5 15
6: 6 16
7: 7 17
8: 8 18
9: 9 19
10: 10 20
setkey(a, dog) …Run Code Online (Sandbox Code Playgroud) 我在列表中有一堆data.tables.我想应用于unique()我的列表中的每个data.table,但这样做会破坏我的所有data.table键.
这是一个例子:
A <- data.table(a = rep(c("a","b"), each = 3), b = runif(6), key = "a")
B <- data.table(x = runif(6), b = runif(6), key = "x")
blah <- unique(A)
Run Code Online (Sandbox Code Playgroud)
在这里,blah仍然有一把钥匙,世界上的一切都是正确的:
key(blah)
# [1] "a"
Run Code Online (Sandbox Code Playgroud)
但是,如果我将data.tables添加到列表并使用lapply(),则键将被销毁:
dt.list <- list(A, B)
unique.list <- lapply(dt.list, unique) # Keys destroyed here
lapply(unique.list, key)
# [[1]]
# NULL
# [[2]]
# NULL
Run Code Online (Sandbox Code Playgroud)
这可能与我有关,并没有真正理解"通过引用"分配键意味着什么,因为我有其他问题,密钥消失了.
所以:
编辑:
对于它的价值,可怕的for循环也可以正常工作:
unique.list <- list()
for (i in …Run Code Online (Sandbox Code Playgroud) 如果myFunction返回一个数组,有没有更简单的方法呢?
$result = myFunction($parameters);
$result = $result[4];
Run Code Online (Sandbox Code Playgroud)
谢谢.
我知道为iOS创建R GUI或命令行的努力,但这不是我所关心的.
我想使用R并ggplot2为iOS应用程序创建可视化.
这可能吗?有没有可用的例子?
编辑:我不确定"打包"是否是正确的词.我想R本身必须被合并到应用程序本身 - 如果我在这里使用错误的词汇,请告诉我.
r ×3
data.table ×2
amazon-ec2 ×1
arrays ×1
ios ×1
iphone ×1
join ×1
lapply ×1
outer-join ×1
php ×1
security ×1