我有一个向量
s <- "111000"
v <- as.character(unlist(strsplit(s,"")))
我需要取向量v,变成一个8位长的字符串,并交换第3个和第4个变量。
例如:输入向量:
1 2 3 4 5 6
输出向量:
1 2 4 3 4 3 5 6
编辑,所以很多人误解了输入/输出。数字仅表示变量的位置以及切换位置。
关于问题中的实际向量:“ 111000”。
Input Value: "1" "1" "1" "0" "0" "0"
Output Value: "1" "1" "0" "1" "0" "1" "0" "0"
编辑:对不起,这个问题是我这么说的。但基本上我正在尝试进行块扩展。我正在尝试创建一个函数来接受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"