小编Reg*_*ser的帖子

不使用apply函数对data.table的每一行进行操作的方法

我写了一个简单的函数如下:

mcs <- function(v) { ifelse(sum((diff(sort(v)) > 6) > 0), NA, sd(v)) }

它应该采用一个向量,对其进行排序,然后检查每个连续差异中是否存在大于 6 的差异。如果差值大于 6,则返回 NA;如果差值不大于 6,则返回标准差。

我想将此函数应用于数据表的所有行(仅选择某些列),然后将每行的返回值作为新的列条目附加到数据表中。

例如,给定一个像这样的数据表

> dat <- data.table(A=c(1,2,3,4,5), B=c(2,3,4,10,6), C=c(3,4,10,6,8),   
D=c(3,3,3,3,3))  
> dat  
   A  B  C D  
1: 1  2  3 3  
2: 2  3  4 3  
3: 3  4 10 3  
4: 4 10  6 3  
5: 5  6  8 3  
Run Code Online (Sandbox Code Playgroud)

我想生成下面的输出。(我在每行的第 2、3 和 4 列上应用了函数。)

> dat
   A  B  C D        sd
1: 1  2  3 3 0.5773503
2: 2  3 …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

用户定义的包和类路径

我在一个名为util的包中有三个类,所有公共类.但是,当我尝试编译使用这些类的代码时,我收到一个错误,指出这些类不是公共的.我不知道出了什么问题.这三个课程如下:

package util;

class Address {

    private String address;

    public Address(){
        address = "Default";
    }

    public Address(String newAddress){
        address = newAddress;
    }

    public void setAddress(String newAddress){
        address = newAddress;
    }

    public String getAddress(){
        return address;
    }

}
Run Code Online (Sandbox Code Playgroud)

日期类

package util;

class Date {

    private String Date;

    public Date(){
        Date = "Default";
    }

    public Date(String newDate){
        Date = newDate;
    }

    public void setDate(String newDate){
        Date = newDate;
    }

    public String getDate(){
        return Date;
    }

}
Run Code Online (Sandbox Code Playgroud)

名称类

package util;

class Name { …
Run Code Online (Sandbox Code Playgroud)

java oop package

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

标签 统计

data.table ×1

java ×1

oop ×1

package ×1

r ×1