我已設置數據(比如說)test
:代表()函數使用可變關於「倍」被引發錯誤
test <- data.frame(x = c(90, 801, 6457, 92727), y = rep("test", 4))
print(test)
x y
1 90 test
2 801 test
3 6457 test
4 92727 test
我想創建變量test$z
鏡像test$x
,不同之處在於test$z
始終爲10字符長,用零填充空白。所以得出的數據幀將如下所示:
print(test)
x y z
1 90 test 0000000090
2 801 test 0000000801
3 6457 test 0000006457
4 92727 test 0000092727
我認爲下面的功能會給我我在尋找的結果:
test$z <- paste0(as.character(rep(0, 10-nchar(as.character(test$x)))), as.character(test$x))
但它在rep
踢回了以下錯誤功能:
Error in rep(0, 10 - nchar(as.character(test$x))) :
invalid 'times' argument
什麼,我可以與代表功能或任何其他解決方案有什麼不同獲得test$z
任何想法?
您可以用sprintf。 – Roland
或'formatC(test $ x,flag ='0',digits = 10,width = 10)' – rawr