尝试将数据集(sdevDFC)重组为矩阵,将纬度(Lat)作为行名称,使用经度(Lon)作为列名称,然后使用与坐标相对应的值填充矩阵。
stand_dev_m <- matrix(data=sdevDFC$SDev, nrow=length(sdevDFC$Lat), ncol=length(sdevDFC$Lon), byrow=TRUE, dimnames = list(sdevDFC$Lat, sdevDFC$Lon))
列和行名称应按原样显示,但我的数据会填充,以便各自列中的所有值都相同,如 image(不应该是这种情况,因为我的价值观都没有重复过)。
我用byrow = FALSE填充它以查看它是否也发生了(它确实如此),并且我还使用了colnames和rownames而不是dimnames(什么都不做更改)。
非常感谢我对这里可能做错的任何见解 - 对这个平台也是新手,所以如果我错过了指南或其他类似的问题,我会道歉
答案 0 :(得分:0)
示例数据:
df <- data.frame(LON=1:5,
LAT=11:15,
VAL=letters[1:5],
stringsAsFactors=F)
您可以尝试以下方法:
rn <- df$LON # Save what-will-be-rownames
df1 <- df %>%
spread(LAT,VAL,fill=NA) %>%
select(-LON) %>%
setNames(., df$LAT)
rownames(df1) <- rn
输出
11 12 13 14 15
1 a <NA> <NA> <NA> <NA>
2 <NA> b <NA> <NA> <NA>
3 <NA> <NA> c <NA> <NA>
4 <NA> <NA> <NA> d <NA>
5 <NA> <NA> <NA> <NA> e