该项目的目的是了解在查看对象时如何获取信息。想象一个对象具有相同的元件a
,b
,c
,d
,e
和f
。一个人可能会看着a
并移动到b
等等。现在,我们希望绘制并了解该人如何在给定刺激的不同元素之间导航。我有在单列中捕获此移动的数据,但我需要将其拆分为几列以获取导航模式。请找到下面给出的示例。
我从数据框中提取了列。现在必须根据其特性将其分为四列。
a <- c( "a", "b", "b", "b", "a", "c", "a", "b", "d", "d", "d", "e", "f", "f", "e", "e", "f")
a <- as.data.frame(a)
Run Code Online (Sandbox Code Playgroud)
预期输出
from to countfrom countto
a b 1 3
b a 3 1
a c 1 1
c a 1 1
a b 1 1
b d 1 3
d e 3 1
e f 1 2
f e 2 2
e f 2 1
Run Code Online (Sandbox Code Playgroud)
注意:我曾经dplyr
从数据框中提取。
使用rle
让每个字母的相对运行,然后拼凑一起:
r <- rle(a$a)
## or maybe `r <- rle(as.character(a$a)` depending on your R version
setNames(
data.frame(lapply(r, head, -1), lapply(r, tail, -1)),
c("countfrom","from","countto","to")
)
## countfrom from countto to
##1 1 a 3 b
##2 3 b 1 a
##3 1 a 1 c
##4 1 c 1 a
##5 1 a 1 b
##6 1 b 3 d
##7 3 d 1 e
##8 1 e 2 f
##9 2 f 2 e
##10 2 e 1 f
Run Code Online (Sandbox Code Playgroud)