R 当我对来自gsub函数的对象使用cbind时,为什么所有的值都被引用?
我有以下矩阵:R 当我对来自gsub函数的对象使用cbind时,为什么所有的值都被引用?,r,R,我有以下矩阵: head(perc) band perc_SC perc_SH perc_WH perc_Tot 1 1 0.009104271 0.6651940 0.3257017 1 2 2 0.008963893 0.6289139 0.3621222 1 3 3 0.008837757 0.6186107 0.3725515 1 4 4 0.008495426 0.6395086 0.3519959
head(perc)
band perc_SC perc_SH perc_WH perc_Tot
1 1 0.009104271 0.6651940 0.3257017 1
2 2 0.008963893 0.6289139 0.3621222 1
3 3 0.008837757 0.6186107 0.3725515 1
4 4 0.008495426 0.6395086 0.3519959 1
5 5 0.008152846 0.6563294 0.3355178 1
6 6 0.007516888 0.6615440 0.3309391 1
我需要获取文件名并作为列插入,所以我要这样做
key <- names(B)
country <- gsub("\\_.*","",key)
如何避免perc1值中的引号 从层次结构中任何输入的最高类型确定的矩阵结果的类型原始
因此,当您将
numeric
和character
列与cbind
组合时,它会将所有输入转换为character
,因为这是最高类型。代码中的B
是什么?如果perc
是一个矩阵
,那么矩阵
只能容纳一个类。当添加一个字符元素时,它将转换为字符。尝试使用cbind(country,as.data.frame(perc))
,因为矩阵不能容纳多种类型。当您cbind
a带有数字矩阵的字符向量时,它会将所有值转换为最高类型(即字符)B是光栅.tif文件
perc1 <- cbind(country,perc)
> head(perc1)
country band perc_SC perc_SH perc_WH perc_Tot
"Argentina" "1" "0.009" "0.665" "0.325" "1"