小编Ald*_*eja的帖子

如何设置Jupyter标签集?

使用R markdown书写时,您可以声明以下内容:

# my tabset {.tabset}

## first one

## second one

# another section
Run Code Online (Sandbox Code Playgroud)

得到类似以下的内容:(是否有可能在jupyter中得到这种行为?)

Rmarkdown选项卡集

markdown r-markdown ipython-notebook jupyter-notebook

6
推荐指数
0
解决办法
151
查看次数

当寄存器的顺序决定类别时,如何重塑data.table?

假设我有以下数据表:

dt=data.table(type=c('big','medium','small','small'
                     ,'medium','small','small'
                     ,'big','medium','small','small')
             ,category=letters[1:11])

      type category
 1:    big        a
 2: medium        b
 3:  small        c
 4:  small        d
 5: medium        e
 6:  small        f
 7:  small        g
 8:    big        h
 9: medium        i
10:  small        j
11:  small        k
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我有一个类别层次结构:所有行的'big'类型相同,直到看到后面的'big'类型.并且每种类型的行为都是相同的.

我想要的重塑必须给我以下内容:

dt=data.table(type=c('big','medium','small','small'
                     ,'medium','small','small'
                     ,'big','medium','small','small')
              ,category=letters[1:11])


   big medium small
1:   a      b     c
2:   a      b     d
3:   a      e     f
4:   a      e     g
5:   h      i     j
6:   h      i     k
Run Code Online (Sandbox Code Playgroud)

如您所见,每个类别仅在找到相同类别的寄存器时发生更改,订单对于设置此类别非常重要.

你觉得有没有办法在不使用for的情况下做到这一点?

r categories reshape data.table

5
推荐指数
1
解决办法
83
查看次数

R,data.table:如何根据存储在字符向量中的其他列的名称来分配某些列的值?

我有以下数据表:

dt=data.table(a=seq(1,3),b=letters[seq(1,3)],
          c=seq(4,6),d=letters[seq(4,6)])
dt
   a b c d
1: 1 a 4 d
2: 2 b 5 e
3: 3 c 6 f
Run Code Online (Sandbox Code Playgroud)

我将一些列的名称存储在一个向量中,将其他列的名称存储在另一个向量中:

names1=names(dt)[1:2]
names2=names(dt)[3:4]
Run Code Online (Sandbox Code Playgroud)

当某些条件适用时,我需要将names2中存储的列的值分配给names1的列.就像是

dt[c(2,3),names1:=names2]

dt
   a b c d
1: 1 a 4 d
2: 5 e 5 e
3: 6 f 6 f
Run Code Online (Sandbox Code Playgroud)

我尝试了以下语法但没有成功:

dt[c(2,3),names1:=dt[c(2,3),names2,with=F]]
Run Code Online (Sandbox Code Playgroud)

但它仍然试图分配names2中包含的字符串向量的值

r data.table

4
推荐指数
1
解决办法
1034
查看次数

矢量化:如何在向量矢量之前只有所有元素集的集合差异?

我有一个像这样的data.table:

dt=data.table(freq=c(4,3,2,1),elements=list(c('a','b','c'),
                                            c('a','d'),
                                            c('b','d'),
                                            c('b','d','c','e')))
   freq elements
1:    4    a,b,c
2:    3      a,d
3:    2      b,d
4:    1  b,d,c,e
Run Code Online (Sandbox Code Playgroud)

我需要每行中的元素只是该行中元素之间的集合差异以及该行之前集合的所有元素的联合.这样我会得到类似的东西:

   freq elements
1:    4    a,b,c
2:    3        d
3:    2       NA
4:    1        e
Run Code Online (Sandbox Code Playgroud)

我可以用一个用于组合所有元素直到i-1并且仅获得设置差异但我真的想知道如何以矢量化方式进行,如果可能的话.

感谢你们!

r vectorization data.table

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

我可以在分组data.table时打印一些东西吗?

假设我有这个数据.表:

dt=data.table(ID=letters[seq(3,8)],category=rep(c('a','b'),each=3),value=seq(1,6))
Run Code Online (Sandbox Code Playgroud)

我想得到每个寄存器的相对百分比相对于一个类别中所有值的总和.除此之外,我想出于调试原因打印该类别.它会是这样的:

dt[,print(.BY[["category"]]),
    list(relative=value/sum(dt[category==.BY[["category"]],value],
    by='ID')
Run Code Online (Sandbox Code Playgroud)

谢谢

grouping r data.table

2
推荐指数
1
解决办法
214
查看次数