Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将字符向量v扩展为8位,如下所示:交换v[3]和v[4]_R_Des_Feistel Cipher - Fatal编程技术网

R 将字符向量v扩展为8位,如下所示:交换v[3]和v[4]

R 将字符向量v扩展为8位,如下所示:交换v[3]和v[4],r,des,feistel-cipher,R,Des,Feistel Cipher,我有一个向量 s <- "111000" v <- as.character(unlist(strsplit(s,""))) 输出向量: 1 2 3 4 5 6 1 2 4 3 4 3 5 6 编辑,所以很多人误解了输入/输出。 这些数字只是表示变量的位置和切换位置 至于问题中的实际矢量:“111000” 编辑:很抱歉问这个问题,这是怎么对我说的。但基本上我是在做块扩展。我试图创建一个函数,以获取一个6位向量并返回一个8位值,这些值是上面的输出。我添加了一张照片,描述了正在发

我有一个向量

s <- "111000"
v <- as.character(unlist(strsplit(s,"")))
输出向量:

1 2 3 4 5 6 
1 2 4 3 4 3 5 6
编辑,所以很多人误解了输入/输出。 这些数字只是表示变量的位置和切换位置

至于问题中的实际矢量:“111000”

编辑:很抱歉问这个问题,这是怎么对我说的。但基本上我是在做块扩展。我试图创建一个函数,以获取一个6位向量并返回一个8位值,这些值是上面的输出。我添加了一张照片,描述了正在发生的事情:


根据您的图表,
x[c(1,2,4,3,4,3,5,6)]
是您想要的

作为一种功能

# works on first 6 variables
foo = function(x) x[c(1, 2, 4, 3, 4, 3, 5, 6)]
foo(1:6)
# [1] 1 2 4 3 4 3 5 6

foo(1:10) # only the first 6
# [1] 1 2 4 3 4 3 5 6

s <- "111000"
v <- as.character(unlist(strsplit(s,"")))
foo(v)
# [1] "1" "1" "0" "1" "0" "1" "0" "0"
#适用于前6个变量
foo=函数(x)x[c(1,2,4,3,4,3,5,6)]
傅(1:6)
# [1] 1 2 4 3 4 3 5 6
福(1:10)#只有前6个
# [1] 1 2 4 3 4 3 5 6

不清楚,预期的输出是什么。“输出向量”是对的吗?我不明白你的意思。基于您的第一个代码块,我有一个名为
v
字符
向量,它包含字符串1、1、1、0、0和0。你的“输入向量”和“输出向量”与此有什么关系?是的,我还是很困惑。“交换”通常指不改变长度的交换位置。如果我调换第三和第四个位置“111000”,我希望是“110100”。似乎要交换并重复交换的值?它总是一次重复,还是基于您的目标长度8?您暗示“将其转换为8位长字符串”发生在交换之前,但它似乎是通过重复交换发生的。
# works on first 6 variables
foo = function(x) x[c(1, 2, 4, 3, 4, 3, 5, 6)]
foo(1:6)
# [1] 1 2 4 3 4 3 5 6

foo(1:10) # only the first 6
# [1] 1 2 4 3 4 3 5 6

s <- "111000"
v <- as.character(unlist(strsplit(s,"")))
foo(v)
# [1] "1" "1" "0" "1" "0" "1" "0" "0"