R 在列中查找更改索引

R 在列中查找更改索引,r,R,有没有办法找到R列中因子变化的指数?例如: x <- c("aaa", "aaa", "aaa", "bbb", "bbb", "ccc", "ddd") x您可以尝试比较移位向量,例如 which(x[-1] != x[-length(x)]) ## [1] 3 5 6 这将对角色和因素都起作用 假设你真的有很多因素。它们在内部用数值保存。因此,当取差时,每次变化都会产生一个差。第二个强制要求是零被认为是假的,而其他数字被认为是真的其中定位真实值或非零 rle可用于以下用途: hea

有没有办法找到R列中因子变化的指数?例如:

x <- c("aaa", "aaa", "aaa", "bbb", "bbb", "ccc", "ddd")

x您可以尝试比较移位向量,例如

which(x[-1] != x[-length(x)])
## [1] 3 5 6
这将对角色和因素都起作用


假设你真的有很多因素。它们在内部用数值保存。因此,当取差时,每次变化都会产生一个差。第二个强制要求是零被认为是假的,而其他数字被认为是真的
其中
定位真实值或非零

rle
可用于以下用途:

head(cumsum(rle(x)$lengths), -1)
[1] 3 5 6

你有一个
factor
类吗?或者你只是这样称呼它?我更喜欢大卫的解决方案。。。如果不先转换为
数值
字符
,这实际上对
系数
不起作用。我很好奇为什么要使用
而不是
as.logical
。是不是因为它是短的?它真的很漂亮
像这样。代码高尔夫。没有人有时间输入所有这些:)@Corey
x
问题中的向量不是表,所以我不知道为什么会期望它有相同的语法。我没有你的桌子,所以我不知道你在说什么,也不能复制它。
head(cumsum(rle(x)$lengths), -1)
[1] 3 5 6