将R中的data.frame导出为普通JSON

时间:2015-07-08 14:56:01

标签: json r dataframe export jsonlite

我想将R中的一个简单data.frame导出到一个普通的JSON对象中,理想情况下将多个vars附加到data.js文件中。

这是我的data.frame:

df <- data.frame(Person=c("Dan", "Tom", "Max"), Apples=c(3,5,8), Pears=c(1,0,2), Bananas=c(30,1,4))
df

  Person Apples Pears Bananas
1    Dan      3     1      30
2    Tom      5     0       1
3    Max      8     2       4

这是我想要导出的格式。

var data1 = [
["Person", "Apples", "Pears", "Bananas"],
["Dan", 3, 1,30],
["Tom", 5, 0, 1],
["Max", 8, 2, 4],
]

谢谢!

1 个答案:

答案 0 :(得分:2)

我很想问“你有什么尝试......?” ...

这很诱人但不起作用,因为library(rjson) cat(toJSON(df)) ## {"Person":["Dan","Tom","Max"], ## "Apples":[3,5,8],"Pears":[1,0,2],"Bananas":[30,1,4]} 处理行, 不是列,如列表:

apply(df,1,...)

apply()会很好,但是tmp1 <- lapply(split(df,seq(nrow(df))),function(x) unname(as.list(x))) cat(toJSON(c(list(names(df)),tmp1))) ## {"":["Person","Apples","Pears","Bananas"], ## "1":["Dan",3,1,30],"2":["Tom",5,0,1],"3":["Max",8,2,4]} 做了很多 简化,很难关闭。

public class ShutdownTask extends Task {
    private int timeoutSeconds;

    public ShutdownTask (int timeoutSeconds) {
        super("shutdown");
        this.timeoutSeconds = timeoutSeconds;
    }

      @Override
    public void execute(ImmutableMultimap<String, String> parameters, PrintWriter output) throws Exception {
        // you probably can take the timeout parameter from the request via 'parameters' instead of the constructor.
        PollingResource.shuttingDownIn = timeoutSeconds;
    }
}


environment.admin().addTask(new ShutdownTask(15));

这不是您要求的格式,但它非常接近。