我环顾四周,找不到一个简单的答案。我该如何做 SQL 中的更新表?例如:
> df1 = data.frame(id=seq(1:3), v1=c("a", "b", NA))
> df1
id v1
1 1 a
2 2 b
3 3 <NA>
> df2 = data.frame(id=seq(1:3), v2=c("z", "y", "c"))
> df2
id v2
1 1 z
2 2 y
3 3 c
Run Code Online (Sandbox Code Playgroud)
如何使用 v1 中 v2 的值更新 df1,但仅当 id 匹配且 id > 2 时?我查看了 data.table,但无法弄清楚 := 语法,并希望基本 R 中有一些简单的东西?期望的输出是:
> df1
id v1
1 1 a
2 2 b
3 3 c
Run Code Online (Sandbox Code Playgroud) 我正在使用levelplot(晶格)在R中创建相关热图.我喜欢盒子之间的边界,但不喜欢外面,因为它会干扰情节边界.如何从框中删除外边框?
这是我的代码:
levelplot(matrix, border="black",
colorkey=list(height=.25, space="right", at=seq(-1, 1, .25), cuts=7),
scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)),
main="Leaf Correlations", xlab="", ylab="",
col.regions=scalebluered)
Run Code Online (Sandbox Code Playgroud)
这就是它的样子..我不喜欢边缘上的双线..

编辑:这是一个可重复的例子:
data(mtcars)
cars.matrix <- as.matrix(mtcars[c(2:8)])
cars.corr <- cor(cars.matrix)
levelplot(cars.corr, border="black", colorkey=list(height=.25, space="right",
at=seq(-1, 1, .25), cuts=7),
scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)),
xlab="", ylab="")
Run Code Online (Sandbox Code Playgroud)