Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.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中指定向量的一半_R_Data Manipulation - Fatal编程技术网

在R中指定向量的一半

在R中指定向量的一半,r,data-manipulation,R,Data Manipulation,我想把向量的一半赋值为1,其余的赋值为o df <- c("1","a","b","2") [1] "1" "a" "b" "2" 使用rep rep(1:0, each = length(df)/2, length.out = length(df)) #[1] 1 1 0 0 如果1和0的分配方式无关紧要,则只能指定length.out rep(1:0, length.out = length(df)) #[1] 1 0 1 0 另外,稍微不同的方式是: '<-'(df, +

我想把向量的一半赋值为1,其余的赋值为o

df <- c("1","a","b","2")
[1] "1" "a" "b" "2"
使用
rep

rep(1:0, each = length(df)/2, length.out = length(df))
#[1] 1 1 0 0
如果1和0的分配方式无关紧要,则只能指定
length.out

rep(1:0, length.out = length(df))
#[1] 1 0 1 0

另外,稍微不同的方式是:

'<-'(df, +(seq_along(df) <= length(df) %/% 2))
#df
#[1] 1 1 0 0

“我很好奇你到底想做什么。使用他人提供的
rep
解决方案很好,但它与您的原始向量无关,他们是否有基于原始向量分配1和0的规则?您希望将哪一半分配(更改?)到0?只是随机的?或者向量中的某些项目?如果您在问题中使用此类软件包,请仅使用
dplyr
tidyr
标记。我看到您已经接受了其中一个答案。所以你真正想要的与你的原始向量无关
c(“1”,“a”,“b”,“2”)
。你问问题的方式有误导性。下次,请提出相关的问题,并进行适当的描述。
'<-'(df, +(seq_along(df) <= length(df) %/% 2))
#df
#[1] 1 1 0 0