小编Ken*_*hen的帖子

为什么调用带有 Short 的方法会选择“void (int)”重载而不是“void (Short)”?

我正在学习Java。当我打电话时go(x),我得到 \xe2\x80\x98int\xe2\x80\x99。为什么不是 \xe2\x80\x98Short\xe2\x80\x99?

\n
public class test {\n    public static void go(Short n) {System.out.println("Short");}\n    public static void go(int n) {System.out.println("int");}\n    \n    public static void main(String[] args) {\n        short x=11;\n        go(x);\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

java boxing overloading

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

按行比较两个data.tables并添加新列

我有两个要与每一行进行比较并添加新列的data.tables。

DT1 <- data.table(ID=c("F","A","E","B","C","D","C"),
                  num=c(59,3,108,11,22,54,241),
                  value=c(90,47,189,72,42,86,280))

DT2 <- data.table(Mark=c("Mary","Abner","Bonnie","Trista","Norman"),
                  numA=c(48,20,88,237,10),
                  numB=c(60,326,54,268,89),
                  valueA=c(78,34,78,270,60),
                  valueB=c(92,190,90,385,75))
Run Code Online (Sandbox Code Playgroud)

我的目标:

我想在DT1中找到num和value,并且在DT2中有numA和numB范围。

例如:

对于F行中DT1中的num = 59和value = 90的行,还必须匹配:

num(59)> DT2 $ numA(48)&num(59)<DT2 $ numB(60)&值(90)> DT2 $ valueA(78)&值(90)<DT2 $ valueB(92)

比赛!因此添加新的列名称结果,其值为dt2标记

如果没有匹配项,请将其设置为Undefined

所需结果:

DT3 <- data.table(ID=c("F","A","E","B","C","D","C"),
              num=c(59,3,108,11,22,54,241),
              value=c(90,47,189,38,42,86,280),
              result=c("Mary","Undefined","Abner","Norman",
                       "Abner","Abner","Trista"))
Run Code Online (Sandbox Code Playgroud)

如何确保每一行都有比较并添加新列?

r data.table

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

如何按天合并上一行和下一行

我有一个data.table,我想使用Time列来合并数据以减少数据。

library(data.table)
DT <- data.table(ID=c("A","A","A","B","B","C","C","C","C","D"),
                 Time=c("2019-01-16 15:52:03","2019-01-16 16:01:04","2019-01-26 01:22:54",
                       "2019-02-18 17:00:08","2019-02-18 17:05:44",
                       "2019-03-16 13:23:42","2019-03-16 15:52:03","2019-06-04 12:01:04","2019-06-04 16:20:54",
                       "2019-03-16 13:23:42"),
                 place=c("Vienna","France","Berlin","Rome","Washington",
                         "Bangkok","Ottawa","Tokyo","SouthKorea","Singapore"))
Run Code Online (Sandbox Code Playgroud)

如果在当天,同一天、相同的Id会被合并。

不同的日子,无需合并

输出:

     ID      Time           place
 1    A   2019-01-16    Vienna-France
 2    A   2019-01-26        Berlin
 3    B   2019-02-18    Rome-Washington
 4    C   2019-03-16    Bangkok-Ottawa
 5    C   2019-06-04    Tokyo-SouthKorea
 6    D   2019-03-16      Singapore 
Run Code Online (Sandbox Code Playgroud)

我应该怎么办?谢谢。

r data.table

-1
推荐指数
1
解决办法
133
查看次数

标签 统计

data.table ×2

r ×2

boxing ×1

java ×1

overloading ×1