r - 创建字符十六进制的十进制值
问题描述
使用以下代码,我正在读取一个文本文件并在屏幕上显示一列。
externalData <- read.delim("testdata.txt", header = FALSE, sep = "@")
i = 1;
while(i < 11) {
appel <- as.character(externalData[i,3,1])
i = i + 1;
print(appel)
}
输出如下所示:
我正在尝试将这些值从十六进制转换为十进制。
我尝试了以下方法:
strtoi(c(appel))
但这似乎不起作用,这只删除了第一个和最后一个引号中的引号,并将中间的所有内容设置为 N/A(可能是因为其中有字母)。
解决方案
以下是将十六进制(字符)转换为十进制(数字)的 3 种方法。
x <- c("158308", "bb1787", "853f91")
# 1.
strtoi(x, base = 16L)
# 2.
as.integer(as.hexmode(x))
# 3.
as.integer(paste0("0x", x))
# more general edition:
# as.integer(ifelse(!grepl("^0x", x), paste0("0x", x), x))
推荐阅读
- python - Pandas 将列转换为具有值的行
- docker - ansible docker-compose 模块问题
- php - SQL 当用户选择一个数据时,其他数据也将被选中
- node.js - Txt ajax 文件显示在网络选项卡中,但不显示文本
- jquery - 在悬停jQuery上仅更改特定的href名称
- python-3.x - Python 在使用一行代码比较来自不同数据帧的两个索引后产生 True False 输出
- react-native - 反应导航不渲染屏幕
- javascript - 重新发布价值成
- list - Flutter:在 null 上调用了“add”方法
- c - C 引用结构成员而不初始化值