- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 dplyr
的最新功能重写我的部分代码,方法是将 data.frame()
替换为 data_frame()
和 cbind()
与 bind_cols()
:
library(rgeos)
library(dplyr)
mc <- montreal %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
cbind(., name = montreal[["NOM"]])
当我尝试用 data_frame
替换 data.frame
时,我得到:
Error: data_frames can only contain 1d atomic vectors and lists
当我尝试用 bind_cols
替换 cbind
时,我得到:
Error: object at index 2 not a data.frame
有没有办法让这个工作?
这里,montreal
是一个 SpatialPolygonsDataframe:
GEOJSON 文件:http://elm.bi/limadmin.json
montreal <- readOGR("data/limadmin.json", "OGRGeoJSON")
最佳答案
所以我最终在这两种方法上运行了 microbenchmark
,因为使用感觉有点奇怪:
mc <- montreal %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
bind_cols(., data_frame(name=montreal[["NOM"]]))
我尝试了两个不同的数据集:
world <- readOGR("data/world.json", "OGRGeoJSON")
wmbm = microbenchmark(
base = world %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
cbind(., name=world[["name"]]),
dplyr = world %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
bind_cols(., data_frame(name=world[["name"]])),
times=100
)
微基准测试结果:
Unit: milliseconds
expr min lq mean median uq max neval
base 13.78396 14.08301 14.21357 14.12023 14.16435 20.04362 100
dplyr 13.87098 14.10680 14.25245 14.14330 14.18020 17.63248 100
montreal <- readOGR("data/limadmin.json", "OGRGeoJSON")
lmbm = microbenchmark(
base = montreal %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
cbind(., name=montreal[["NOM"]]),
dplyr = montreal %>%
gCentroid(byid=TRUE) %>%
data.frame %>%
bind_cols(., data_frame(name=montreal[["NOM"]])),
times=100
)
微基准测试结果:
Unit: milliseconds
expr min lq mean median uq max neval
base 1.597957 1.628723 1.736709 1.651747 1.686554 3.091738 100
dplyr 1.621092 1.642678 1.756978 1.659041 1.739707 3.751866 100
这里没有真正的结论。尽管它看起来有点慢,但我想我会坚持使用 dplyr
-esque 解决方案以保持一致性。
关于用 dplyr 中的 data_frame() 替换 data.frame 并用 bind_cols() 替换 cbind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27943442/
我想我正在寻找 rbind.fill 的类似物(在 Hadley 的 plyr 包中)对于 cbind 。我看了,没有cbind.fill . 我想做的是: #set these just for t
有人知道为什么以下代码的结果不同吗? a [1] "a" "b" "c" "d" colnames(cbind(ts(a),ts(b))) > [1] "ts(a).a" "ts(a).b" "ts
merger <- cbind(as.character(Date),weather1$High,weather1$Low,weather1$Avg..High,weather1$Avg.Low,sa
不知道为什么会这样。我有一个数据框 df2使用以下变量: EVTYPE TOTAL_FATALITIES TOTAL_INJURIES (fctr)
我正在尝试 cbind或 unnest或 as.data.table部分嵌套的列表。 id <- c(1,2) A <- c("A1","A2","A3") B <- c("B1") AB <- li
我有两个数据系列向量。 x = c("100"=2,"200"=2) y = c("150"=3,"200"=2) 我怎样才能合并它们,以便我得到: x y 100 2 N
我有像下面的 biglist 示例这样的数据,它是 2 个 2 个列表的列表。我想将每个列表中的第二个列表 cbind 一起像下面的结果示例一样。通常,我会尝试类似 lapply(biglist,cb
x = iris$Sepal.Width; y = iris$Species; m = cbind(x,y); m 的输出是: x y [1,] 3.5 1 [2,] 3.0
我有两个名为 h 的列表和 g . 它们每个都包含 244 个数据帧,如下所示: h[[1]] year avg hr sal 1 2010 0.300 31 2000 2
我有 94 个制表符分隔文件,没有标题,位于单个目录“/path/”中,第一列中有基因名称,第二列中有计数。有 23000 行。 我想将/path/中的所有 94 个文件读入 R 并合并所有 94
我正在尝试创建数据框的子集,当我这样做时,R切换日期列的格式。知道为什么或如何解决这个问题吗? > head(spyPr2) Date Open High Low Cl
在提问之前,我搜索并阅读了许多关于 stackoverflow 的其他问题,并尝试了 dplyr 包中的 join,但没有一个给出我想要的结果。 我有两个 dfs 并想将它们组合起来,使 df1$co
我对 cbind 的特性有疑问在数据表和数据框中。 如果我要绑定(bind)一个数据框(df)和一个数据表(dt),那么结果对象的类取决于第一个参数。 例子: > dt df dt x y z
这个问题在这里已经有了答案: Error: could not find function ... in R (10 个回答) 6年前关闭。 我正在使用 R: library(qpcR) final<
我在使用 cbind 向数据框中添加列的脚本时遇到了一些问题。我通过正则表达式选择这些列,我喜欢 cbind 在添加多于一列时自动提供前缀。如果您只附加一列,这将不起作用......即使我将此列转换为
我有 L : Var1 Freq 2 1103 6 6 1107 10 10 1112 7 21 1125 6 24 1129 10 31 1137 5 和
我想对两个 lm 输出进行逐列比较。类似这样的事情,除了我希望看到估计值旁边的估计值嵌套到估计值,Std Error 旁边的 Std Error 等。 x=runif(6);y=runif(6
就我而言,我有一个数字向量(future_prices)。我使用来自另一个向量(这里:pred_commodity_prices$futuredays)的日期向量来创建月份的数字。之后,我使用 cbi
如果我错过了这样一个简单问题的答案,请原谅我。 我想使用 cbind()绑定(bind)两列。其中之一是长度较短的单个条目。 我可以让 R 提供 NA对于缺失值? 该文档讨论了 deparse.lev
当使用cbind函数组合2个或更多矩阵时,生成的矩阵将继承列名称。下面是一个简单的例子来说明这一事实。我有两个 (2x2) 矩阵 m1 和 m2。 m1 的列是 a 和 b; m2 的列是 c 和 d
我是一名优秀的程序员,十分优秀!