gpt4 book ai didi

r - 数据表 : column name not working with j = c() and by

转载 作者:行者123 更新时间:2023-12-03 20:59:27 25 4
gpt4 key购买 nike

很难提出我的问题(因此很难在文件中进行有效搜索......)。下面的代码应该很清楚。

为什么在第二个命令中输出的最后一列名称不是 "nb_ob"? c(lapply(.SD, mean), nb_obs = .N)应该提供一个包含 4 个元素的命名列表,这些元素应该成为最终结果中的一列。

好奇 c(lapply(.SD[,1:4], mean), nb_obs = .N) (第三个命令)提供预期的结果。如果我删除 by参数(最后一个命令)我还获得了预期的列名(带有字符列“物种”的警告)。

代码运行 data.table_1.10.4,R 版本 3.4.1 for Ubuntu 16.04.3 LTS(如果需要,我可以提供更多)

iris <- data.table(iris)
iris[, c(lapply(.SD, mean), nb_obs = .N), by = Species] # 2nd command
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width N
# 1: setosa 5.006 3.428 1.462 0.246 50
# 2: versicolor 5.936 2.770 4.260 1.326 50
# 3: virginica 6.588 2.974 5.552 2.026 50

iris[, c(lapply(.SD[,1:4], mean), nb_obs = .N), by = Species] # 3rd command
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width nb_obs
# 1: setosa 5.006 3.428 1.462 0.246 50
# 2: versicolor 5.936 2.770 4.260 1.326 50
# 3: virginica 6.588 2.974 5.552 2.026 50

iris[, c(lapply(.SD, mean), nb_obs = .N)] # Fourth command
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species nb_obs
# 1: 5.843333 3.057333 3.758 1.199333 NA 150

最佳答案

这是 data.table 中的一个问题基于这个问题提出的项目积压:

  • https://github.com/Rdatatable/data.table/issues/2311


  • 这个答案基于@Frank 上面的评论。

    关于r - 数据表 : column name not working with j = c() and by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46038188/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com