相关疑难解决方法(0)

如何在data.table中按引用删除行?

我的问题与引用分配和复制分配有关data.table.我想知道是否可以通过引用删除行,类似于

DT[ , someCol := NULL]
Run Code Online (Sandbox Code Playgroud)

我想知道

DT[someRow := NULL, ]
Run Code Online (Sandbox Code Playgroud)

我想有一个很好的理由说明为什么这个功能不存在,所以也许你可以指出一个很好的替代通常的复制方法,如下所示.特别是,从我的例子(data.table)开始,

DT = data.table(x = rep(c("a", "b", "c"), each = 3), y = c(1, 3, 6), v = 1:9)
#      x y v
# [1,] a 1 1
# [2,] a 3 2
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 …
Run Code Online (Sandbox Code Playgroud)

r data.table

144
推荐指数
5
解决办法
5万
查看次数

如何将行附加到R数据框

我查看了StackOverflow,但我找不到特定于我的问题的解决方案,这涉及将行附加到R数据帧.

我正在初始化一个空的2列数据帧,如下所示.

df = data.frame(x = numeric(), y = character())
Run Code Online (Sandbox Code Playgroud)

然后,我的目标是迭代一个值列表,并在每次迭代中,将值附加到列表的末尾.我从以下代码开始.

for (i in 1:10) {
    df$x = rbind(df$x, i)
    df$y = rbind(df$y, toString(i))
}
Run Code Online (Sandbox Code Playgroud)

我也试图功能c,append以及merge没有成功.如果您有任何建议,请告诉我.

merge r append rows dataframe

109
推荐指数
4
解决办法
31万
查看次数

在data.table中插入一行

如果我有一个数据框

set.seed(12345) 
df=data.frame(a=rnorm(5),b=rnorm(5))
Run Code Online (Sandbox Code Playgroud)

我可以通过例如添加一行

df[6,] =c(5,6)

如果我现在在data.table中做等效的

library(data.table)
dt=data.table(df)
dt[6,]=c(5,6)
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误.将行插入data.table的正确方法是什么?

r data.table

44
推荐指数
1
解决办法
7万
查看次数

从R中的data.table中有条件地删除行

我有一个data.table,其字段为{id,menuitem,amount}.

这是交易数据 - 因此,ID是唯一的,但menuitem重复.现在,我想删除所有条目menuitem == 'coffee'.

另外,想要删除所有行amount <= 0;

在data.table中执行此操作的正确方法是什么?

我可以使用data$menuitem!='coffee'然后将int索引到data [] - 但这不一定有效并且不利用data.table.

任何指向正确方向的人都会受到赞赏.

r data.table

35
推荐指数
1
解决办法
7万
查看次数

我无法在data.table中使用dtplyr做什么

这个问题是关于理解,我要投资我的学习精力用于数据R.之间扯皮具体dplyrdtplyrdata.table。我dplyr主要使用数据,但是当数据太大而无法使用时data.tabe,这种情况很少发生。因此,现在dtplyrv1.0已成为的接口data.table,从表面上看,我似乎再也不需要担心data.table再次使用该接口。

那么,目前尚不能使用的最有用的功能或方面data.table是什么dtplyr,而将来可能永远无法使用dtplyr

从表面上看,dplyr借助的好处,data.table它听起来像dtplyr会超越dplyr。会不会有任何理由来使用dplyr,一旦dtplyr已经完全成熟?

注意:我不是在问dplyrvs data.table(就像在data.table vs dplyr中:一个人可以做得很好而另一个不能做得不好或做得不好吗?),但是鉴于在一个特定问题上一个人比另一个人更受青睐,为什么呢?牛逼dtplyr是使用工具。

r dplyr data.table dtplyr

3
推荐指数
3
解决办法
251
查看次数

在 R 中扩展数据集的快速有效方法

我尝试使用来自不同列(Key2 - KeyX)的值扩展 R 中的数据集,然后使用公式中的列号计算一些值。

我要扩展的数据集的一部分示例

Year Key2 Key3 Key4 Key5 ...
2001  150  105  140  140
2002  130   70   55   80
2003  590  375  355  385
...
Run Code Online (Sandbox Code Playgroud)

首选结果。

  • i = 索引号
  • col = 列号(Key2 = 1、Key3 = 2 等)
  • p = 随机数
  • value = 用列号和 p 计算的值

    year   i col         p     value
    2001   1   1 0.7481282 4.0150810
    2001   2   1 0.8449366 2.0735090
    2001 ...   1 0.1906882 0.9534411
    2001 150   1 0.8030162 3.7406410
    2001   1   2 0.4147019 4.2246831
    2001   2 …
    Run Code Online (Sandbox Code Playgroud)

r dplyr data.table

0
推荐指数
1
解决办法
1729
查看次数

标签 统计

r ×6

data.table ×5

dplyr ×2

append ×1

dataframe ×1

dtplyr ×1

merge ×1

rows ×1