我有以下一行
apply(wrld_simpl@data, 1, FUN=function(x) sum(is.na(x)))
,它提供以下输出
ATG DZA AZE ALB ARM AGO ASM ARG AUS BHR BRB BMU BHS BGD BLZ BIH BOL MMR
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BEN SLB BRA BGR BRN CAN KHM LKA COG COD BDI CHN AFG BTN CHL CYM CMR TCD
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
等等。我知道,计算这个数据集的NA并不是很有意义,但是一旦我将这些数据与一个“家庭成长”的数据合并在一起。数据设置它更有意义,我的挑战保持不变。后两个问题出现了,因为我想把它放到我使用knitr的报告中:
我可以在所有变量的交叉表中生成此输出,这意味着左列中的国家和一些变量(例如wrld_simpl @ data [6:11])作为标题?
如何将国家/地区代码与国家/地区名称(wrld_simpl @ data $ NAME)进行交换,因为并非所有读者都能很好地了解代码?
如何将输出放入漂亮的表格(边框,标题,标签)?
任何指针都表示赞赏!
谢谢!
答案 0 :(得分:2)
我使用plyr
包来做这样的事情,因为** ply-functions的使用方式比r-base
的默认* apply方法更加一致。
library("plyr")
library("maptools")
data( wrld_simpl )
adply( wrld_simpl@data, 1, function(x) {
sum(is.na( x[ c("LON", "LAT") ] )) # change to the columns you want to count the NA's on
})[ ,5:12 ]