【发布时间】:2018-01-29 15:20:28
【问题描述】:
我有一个数据框(但也可以是数据表),其中包含多个站点(其余列“a”到“l”)中植被类型的比例(第一列“type”)。这是它的样子:
dat <- structure(list(type = structure(1:17, class = "factor", .Label = c("not_vegetated",
"needleleaf_evergreen_temperate_tree", "needleleaf_evergreen_boreal_tree",
"needleleaf_deciduous_boreal_tree", "broadleaf_evergreen_tropical_tree",
"broadleaf_evergreen_temperate_tree", "broadleaf_deciduous_tropical_tree",
"broadleaf_deciduous_temperate_tree", "broadleaf_deciduous_boreal_tree",
"broadleaf_evergreen_shrub", "broadleaf_deciduous_temperate_shrub",
"broadleaf_deciduous_boreal_shrub", "c3_arctic_grass", "c3_non.arctic_grass",
"c4_grass", "c3_crop", "c3_irrigated")), a = c("0", "1.55", "0",
"0", "0", "0", "0", "11.59", "0", "0", "0", "0", "0", "31.5",
"0.26", "52.29", "0"), b = c("0", "8.27", "0.02", "0", "0", "0",
"0", "35.5", "0.05", "0", "0.04", "0", "0", "26.02", "0", "15.7",
"0"), c = c("1.42", "7.55", "0", "0", "0", "0", "0", "14.24",
"2.38", "0", "0.06", "0", "0", "31.79", "0", "36.56", "0"), d = c("0",
"13.87", "3.97", "0", "0", "0", "0", "51.66", "7.68", "0", "0.07",
"0", "0", "8.18", "0", "10.23", "0"), e = c("0", "16.23", "0.24",
"0", "0", "0", "0", "67.15", "2.12", "0", "0", "0", "0", "6.52",
"0.1", "4.68", "0"), f = c("0.26", "6.29", "60.98", "0", "0",
"0", "0", "3.72", "10.49", "0", "0", "0.3", "2.45", "3.61", "0",
"3.9", "0"), g = c("0.11", "38.16", "10.9", "0", "0", "0", "0",
"31.72", "13.53", "0", "0", "0", "0", "0.68", "0", "0.9", "0"
), h = c("0", "10.42", "0.42", "0", "0", "0", "0", "55.44", "1.49",
"0", "0", "0", "0", "16.54", "0", "13.33", "0"), i = c("0", "1.39",
"0", "0", "0", "0", "0", "11.56", "0", "0", "0", "0", "0", "33.94",
"0", "49.26", "0"), j = c("0.45", "16.48", "0", "0", "0", "0",
"0", "40.02", "0", "0", "0.02", "0", "0", "17.53", "0", "10.51",
"0"), k = c("6.02", "2.78", "0", "0", "0", "0", "0", "1.27",
"2.51", "0", "0.03", "0", "0", "18.29", "0", "69.1", "0"), l = c("6.13",
"22.77", "2.72", "0", "0", "0", "0", "22.69", "3.85", "0", "0.06",
"0", "0", "1.25", "0", "1.53", "0")), .Names = c("type",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"), row.names = c(NA,
-17L), class = "data.frame")
我需要做的是计算每个站点的三个更丰富的植被类型分数,并将其汇总在与此类似的数据框(或数据表)中(为简洁起见仅显示前两个站点):
a b
c3_crops (52.29) broadleaf_deciduous_temperate_tree (35.5)
c3_non.arctic_grass (31.5) c3_non.arctic_grass (26.02)
broadleaf_deciduous_temperate_tree (11.59) c3_crop (15.7)
关于如何做到这一点的任何提示?
【问题讨论】:
标签: r dataframe data.table topmost