我有一个包含2列的数据框,每个列均为“字符”类。一栏是标识符,第二栏是我要随机分配的字母。
df <- data.frame(identifier=c("number1", "number2", "number3"),
values=c("AGLRJMV", "KTKOXSOCOFMTMSOV", "GTSHH"))
df$identifier <- as.character(as.factor(df$identifier))
df$values <- as.character(as.factor(df$values))
我无法将字母随机化,因为R不会将它们视为单个字符而是一个字符串。所以当我尝试
sample(df[,2])
它不会随机化字母。
我尝试将每个字母的第二列拆分为单个列,但是由于列数不相同,所以我无法再次将这些列重新合并。
所以,我最终想要得到的是以下内容:
identifier values
number1 MVARJGL
number2 OTMCOFMKOSOVKTXS
number3 STHHG
很抱歉,这可能是一个显而易见的问题,但是我无法弄清楚。.如果该问题已经在其他地方得到回答,我很乐意针对该问题。
答案 0 :(得分:3)
使用Exception in thread "main" java.lang.NullPointerException
at java.desktop/java.awt.color.ICC_Profile.getProfileDataFromStream(ICC_Profile.java:1034)
at java.desktop/java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:1016)
at org.apache.pdfbox.pdmodel.graphics.color.PDOutputIntent.configureOutputProfile(PDOutputIntent.java:112)
at org.apache.pdfbox.pdmodel.graphics.color.PDOutputIntent.<init>(PDOutputIntent.java:49)
at src.Kairos.CreatePDFA.doIt(CreatePDFA.java:124)
at src.Kairos.CreatePDFA.main(CreatePDFA.java:153)
包及其stringi
函数:
stri_rand_shuffle
答案 1 :(得分:2)
我们可以分割values
中的每个字符,然后使用sample
来随机化字符串,最后将paste
的字符串放在一起,以将它们作为一个单词重新获得。
df$values1 <- sapply(strsplit(df$values,""), function(x)
paste0(sample(x), collapse = ""))
df
# identifier values values1
#1 number1 AGLRJMV GJRMVAL
#2 number2 KTKOXSOCOFMTMSOV OSFKMOKCOXMVOTST
#3 number3 GTSHH HHTGS