2016-04-08 73 views
1

Veri çerçevemin bazı sütunlarını belirli bir forma (JavaScript formatı) kaydetmek istiyorum.JJON() 'dan rjson paketinden kullanmaya çalıştım ancak bu işlem devam etmiyor. http://leaflet.github.io/Leaflet.markercluster/example/realworld.388.jsR data.frame'i Javascript dizisine dönüştürme

lütfen yardım ve şimdiden teşekkürler:

Benim sonuç şunun gibi görünüyor.

+1

Kodunuzu - neyi denediğinizi ve verilerin bir örneğini gösterin, lütfen. Ve rjson paketinin "işe yaramadığını" söylediğinde ne demek istediğini açıkla. – WillardSolutions

cevap

1

Bunu yapmanın en hızlı yolu, apply işlevlerinden birini kullanacaktır. Sadece bu yüzden bulduğum en iyisi apply idi. İçeri x$COL_NAME kullanamazsınız

# this will go row by row 
apply(allTheData, 1, function(x){ 
    print(x["COL_NAME"]) 
}) 

sen yukarıda yaptığı gibi kullanmak zorunda geçerlidir.

Diğer apply işlevlerini kullanabilirsiniz, ancak satır satır satır gitmek için bunu uygulamak için en kolay olduğunu buldum.

1

Aşağıdaki komut kullanılarak çözüldü: JSON-R ve R-JSON dönüşüm uzmanlaşmış müthiş ve ölçülebilir jsonlite paketi kullanılarak teklif

datasetres <- idw.output[,1:3] 
write("var addressPoints = [",file="Data/output.txt") 
for(i in 1:nrow(datasetres)){ 
    write(paste("[",datasetres[i,]$lat,",", datasetres[i,]$lon,", \"", datasetres[i,]$var1.pred, "\" ],",sep=''),file="Data/output.txt",append=TRUE) 
} 
write("];",file="Data/output.txt",append = TRUE) 
4

:

# load package 
library(jsonlite) 

# get help 
?toJSON 

# do transformations 
df <- data.frame(a=1:3, b=letters[1:3]) 

toJSON(df) 
## [{"a":1,"b":"a"},{"a":2,"b":"b"},{"a":3,"b":"c"}] 

toJSON(df, dataframe="rows") 
## [{"a":1,"b":"a"},{"a":2,"b":"b"},{"a":3,"b":"c"}] 

toJSON(df, dataframe="columns") 
## {"a":[1,2,3],"b":["a","b","c"]} 

toJSON(df, dataframe="values") 
## [[1,"a"],[2,"b"],[3,"c"]] 

PS .: toJSON(), dönüştürmeyi kontrol etmek ve ince ayar yapmak için başka argümanlara sahiptir.