我有8个一或两位数字整数变量的数据集,我想将它们连接起来,但是请以1开头的数字以0开头填充数字。
例如,图像上的第一个示例将变为“ 1215020401010102”。
我不想要完整的代码解决方案,只是什么功能可以帮助我。我一直在尝试将功能与sapply一起使用,但并没有获得成功。
答案 0 :(得分:2)
提供此数据
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="horizontal"
tools:context=".MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingTop="245dp">
<EditText
android:id="@+id/name"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_above="@+id/email_EditText"
android:background="@drawable/edit_text_style"
android:fontFamily="sans-serif"
android:gravity="center"
android:hint="Username"
android:inputType="text"
android:textColor="#fff"
android:textColorHint="#fff" />
<EditText
android:id="@+id/email_EditText"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_above="@+id/password_EditText"
android:layout_marginTop="6dp"
android:background="@drawable/edit_text_style"
android:gravity="center"
android:hint="Email"
android:inputType="textEmailAddress"
android:textColor="#fff"
android:textColorHint="#fff" />
<EditText
android:id="@+id/password_EditText"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_above="@+id/phone_EditText"
android:layout_marginTop="6dp"
android:background="@drawable/edit_text_style"
android:gravity="center"
android:hint="Password"
android:inputType="textPassword"
android:textColor="#fff"
android:textColorHint="#fff" />
<EditText
android:id="@+id/phone_EditText"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_above="@+id/signUp_Button"
android:layout_marginTop="6dp"
android:background="@drawable/edit_text_style"
android:gravity="center"
android:hint="Phone#"
android:inputType="phone"
android:textColor="#fff"
android:textColorHint="#fff" />
<Button
android:id="@+id/signUp_Button"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_marginTop="40dp"
android:background="@drawable/button_style_selector"
android:fontFamily="verdana"
android:text="Signup"
android:textAllCaps="false"
android:textColor="#000"
android:textSize="22dp" />
</RelativeLayout>
我们可以使用set.seed(1)
(dat <- as.data.frame(matrix(sample(10, 15, T), nrow = 5)))
# V1 V2 V3
#1 3 9 3
#2 4 10 2
#3 6 7 7
#4 10 7 4
#5 3 1 8
与do.call
和paste0
与lapply
这里:
formatC
答案 1 :(得分:0)
这是sprintf
do.call(sprintf, c(dat, fmt = "%02d%02d%02d"))
#[1] "030903" "041002" "060707" "100704" "030108"
或使用tidyverse
library(tidyverse)
dat %>%
mutate_all(str_pad, pad = '0', width = 2) %>%
unite(V1, V1, V2, V3, sep='')
# or if there are many columns use
# unite(V1, !!! rlang::syms(names(.)), sep='')
dat <- structure(list(V1 = c(3L, 4L, 6L, 10L, 3L), V2 = c(9L, 10L, 7L,
7L, 1L), V3 = c(3L, 2L, 7L, 4L, 8L)), class = "data.frame", row.names = c(NA,
-5L))