我的 Dataframe 如下所示:
我使用了以下函数来提取hs10变量的前6个数字:
hs10
us_chn_tariffs_18$HS6 <- as.numeric(substr(as.character(us_chn_tariffs_18$hs10), 1, 6))
但是,一些变量显示为小数,如下所示:
这是有原因的吗?我怎么能得到整数呢?谢谢你。
idfiyjo81#
当转换为字符时,您保留了科学记数法中的“e”,它只发生在0数量的某些数字中,6个或更多的0将转换为科学记数法。
substr(format(h10, scientific=F), 1,6)
那应该工作得很好(至少在我的R会话中工作得很好),希望有帮助!
i1icjdpr2#
你可以考虑除法和trunc运算。
trunc
trunc(x/1e4) # [1] 284699 284699 284700
或
as.character(trunc(x/1e4)) # [1] "284699" "284699" "284700"
x <- 2846999998:2847000000
2条答案
按热度按时间idfiyjo81#
当转换为字符时,您保留了科学记数法中的“e”,它只发生在0数量的某些数字中,6个或更多的0将转换为科学记数法。
那应该工作得很好(至少在我的R会话中工作得很好),希望有帮助!
i1icjdpr2#
你可以考虑除法和
trunc
运算。或