我想知道是否有办法将十进制数转换成三进制数,因为有一个函数intToBits可以转换成二进制数.

我需要转换一个字符串,比如

> S0 <- c("Hello Stac")

以3为基数.我想先用

> S01 <- utf8ToInt(S0)
> S01
## [1]  72 101 108 108 111  32  83 116  97  99

然后将结果转换为基数3.我想得到这样的东西:

> S1
## [1] 2200 10202 11000 11010  11022 1012 10002 11022 10121 10200

推荐答案

为了练习,我想你可以试着编写自己的转换函数,如下所示

f <- function(x, base = 3) {
  q <- c()
  while (x) {
    q <- c(x %% base, q)
    x <- x %/% base
  }
  # as.numeric(paste0(q, collapse = ""))
  sum(q * 10^(rev(seq_along(q) - 1)))
}

还是100

f <- function(x, base = 3) {
  ifelse(x < base, x, f(x %/% base) * 10 + x %% base)
}

那你就可以跑了

> sapply(utf8ToInt(S0),f)
 [1]  2200 10202 11000 11000 11010  1012 10002 11022 10121 10200

R相关问答推荐

在Julia中调用R函数

R中具有gggplot 2的Likert图,具有不同的排名水平和显示百分比

R箱形图gplot 2 4组但6个参数

用derrr在R中查找组间的重复项

根据模式将一列拆分为多列,并在R中进行拆分

为什么在ggplot2中添加geom_text这么慢?

如何直接从Fortran到R的数组大小?

如果某些列全部为NA,则更改列

根据类别合并(汇总)某些行

R中的哈密顿滤波

用R ggplot2求上、下三角形中两个变量的矩阵热图

如何在ggplot2中绘制具有特定 colored颜色 的连续色轮

按多列统计频次

扩展R中包含列表的数据框

如何删除R中除数字元素以外的所有元素

将摘要图添加到facet_WRAP gglot的末尾

R代码,用于在线条图下显示观测表

通过初始的shiny 应用更新部署的shiny 应用的数据和参数,其中部署的应用程序显示为URL

根据r中每行中的日期序列,使用列名序列创建新列

R:使用ApexCharge更改标签在饼图中的位置