我真的不知道R功能是如何工作的!它不像matlab一样工作,我们可以返回并调用我们函数的许多对象吗?
我正在写一个函数,我需要有一个以上的结果,但它只返回一个。 我想知道R程序员如何编写这样的函数。例如:sort
> mean
function (x, ...)
UseMethod("mean")
<bytecode: 0x0000000017c57d28>
<environment: namespace:base>
正如我们所见,我们可以调用两个外部对象(x:有序向量,ix:已排序向量的索引)
此外,我无法理解何时想要查看R中的书写函数,例如对于像#34;意思是&#34;这样的简单函数。我们有:
import com.google.gson.Gson;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
public class DBresult {
int countColumns;
public ArrayList<String> columnLabels;
public ArrayList<String[]> rows;
public ArrayList<String> primaryKeys;
public ArrayList<String> tablenameByColum;
public static DBresult build(ResultSet set) throws SQLException {
DBresult result = new DBresult();
result.countColumns = set.getMetaData().getColumnCount();
result.rows = new ArrayList<String[]>();
result.columnLabels = new ArrayList<String>();
result.tablenameByColum = new ArrayList<String>();
String[] row;
while (set.next()) {
row = new String[result.countColumns];
for (int i = 1; i <= result.countColumns; i++) {
row[i-1] = set.getString(i);
}
result.rows.add(row);
}
ResultSetMetaData meta = set.getMetaData();
for (int i = 1; i <= result.countColumns; i++) {
result.columnLabels.add(meta.getColumnLabel(i));
result.tablenameByColum.add(meta.getTableName(i));
}
return result;
}
@Override
public String toString() {
try {
return new Gson().toJson(this);
} catch (Exception e) {
return null;
}
}
public static DBresult fromString(String json){
try {
return new Gson().fromJson(json, DBresult.class);
} catch (Exception e) {
return null;
}
}
}
非常感谢
纳菲丝萨迪
答案 0 :(得分:1)
以下是一个简单函数的示例,展示了如何返回包含多个项目的列表。
# Create the function
my.function <- function(){
# Create some vectors
obj1 <- c("Character", "Vector", "One")
obj2 <- c("Character", "Vector", "Two")
obj3 <- c("Character", "Vector", "Three")
# Create empty list
my.list <- list()
# Assign objects to list
my.list$o1 <- obj1
my.list$o2 <- obj2
my.list$o3 <- obj3
# Return the list
return(my.list)
}
# Call the function
list.from.function <- my.function()
# Inspect a specific item
list.from.function$o1