在R

时间:2016-03-18 10:03:01

标签: r

如何创建一个接收数字的函数123345,取其第4位和第5位并返回该数字^ 2 =>即23 * 23

我需要使用循环吗? (这样我就可以捕获少于5位数的数字,然后用前导零将它们缩小到5位数。)

如果长度(v)<5,如何将前导零添加到5位数? 如何在引用v [4]和v [5]时制作一个2位数的整数?

1 个答案:

答案 0 :(得分:1)

我们可以使用sprintf追加前导0(如果位数小于5),使用substr提取第2和第3位,转换为数字并将其平方。

as.numeric(substr(sprintf("%05d", n1), 2,3))^2
#[1] 529   1 144   0

数据

n1 <- c(123345, 143, 1294, 1)