x <- rep(c("A","B","C"),times=c(6,8,3))
"A" "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B" "B" "B" "C" "C" "C"
字符串
我正在努力创建一个向量,对应于每个字母被分成3个箱子:
(A A A A A A B B B B B B B B C C C)
x_bin = 1 1 2 2 3 3 1 1 1 2 2 2 3 3 1 2 3
型
在这个例子中,我可以通过组合每2个值将A
划分为3个bin。我可以通过组合3,3和2个值将B
划分为3个bin。我只能通过组合1个值将C
划分为3个bin。
我试过cut
和dplyr
,但cut
只适用于数字数据,它不能按照我想要的方式切割。
7条答案
按热度按时间vsnjm48y1#
我们可以使用
ave
来按字母分组,然后使用rep(1:3, length.out=)
来获得正确的长度。这保证了编号的组(每个字母)将相等平衡或偏离不超过1。字符串
如果你想要所有的1,2秒,等等,那么我们可以
sort
它们:型
验证:
型
数据
型
vyswwuz22#
ave
中尝试rep
字符串
ave
中使用matrix
的另一个技巧型
它应该给予
jfgube3f3#
**1)**我们可以这样使用ave/cut:
字符串
**2)**另一种可能性是unlist/tapply/cut:
型
更新
对(1)进行了轻微改进,并增加了(2)。
rkkpypqq4#
字符串
给
型
nxagd54h5#
rle
+rep
:字符串
uyhoqukh6#
字符串
创建于2023-11-10使用reprex v2.0.2
bksxznpy7#
试试这个
字符串
在
list(1:3)
中定义bin的长度n=3。