r - 用第一个值总结

标签 r segmentation-fault dplyr

我在使用 summarise 时遇到了奇怪的行为.

df <- data.frame(id = c(1, 2, 3, 3, 4),
                 color = c(NA, "blue", "red", "blue", NA),
                 stringsAsFactors = FALSE)
df
#   id color
# 1  1  <NA>
# 2  2  blue
# 3  3   red
# 4  3  blue
# 5  4  <NA>

第一部分

让我们提取 color 的第一个值每个id :
df %>% 
  group_by(id) %>% 
  summarise(result = color[1])
# # A tibble: 4 × 2
#      id result
#   <dbl>  <chr>
# 1     1       
# 2     2   blue
# 3     3    red
# 4     4   <NA>

我期待 <NA>而不是空字符串。我做错什么了吗? first(color)产生正确的输出,但我相信 color[1]是等价的。

此外,color %>% first产生与 color[1] 相同的输出,这让我更加困惑。

第二部分

让我们输入以下无意义的代码:
df%>% 
  group_by(id) %>% 
  summarise(color = color[1],
            color2 = first(color))

我遇到了段错误。这是一个已知的错误还是我应该报告它?我发现一些旧的 SO 问题和 GitHub 线程看起来非常相似,但它们看起来已经解决了。

备注 : 我用 dplyr 0.5.0R 3.3.3

最佳答案

正如评论中所说:两个问题都是错误,并且都在 dplyr 0.7.0 中得到修复

关于r - 用第一个值总结,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43421152/

相关文章:

R:树上的聚合值

python - PyQt:使用 QApplication.quit 时偶尔出现段错误

c++ - C++段错误中的斐波那契扩展

sql - 找出 dplyr 查询中有多少行的最快方法是什么?

R,dplyr : cumulative version of n_distinct

r - 在行之间累积添加数字以在 R 中创建新列

r - 在 R 中的 arima.sim 中初始化

r - 使用 cumsum 的输出差异

c - 为什么 strtok 导致段错误?

r - 从文件读取时检查对象的大小