我被困在这个问题上,很乐意提供建议。我有以下内容data.frame
:
c1 <- factor(c("a","a","a","a"))
c2 <- factor(c("b","b","y","b"))
c3 <- factor(c("c","y","z","c"))
c4 <- factor(c("y","z","","y"))
c5 <- factor(c("z","","","z"))
x <- data.frame(c1,c2,c3,c4,c5)
所以这个数据看起来像这样:
c1 c2 c3 c4 c5
1 a b c y z
2 a b y z
3 a y z
4 a b c y z
因此,在每一行中,都有一系列不同长度的 a、b、c,并以 y 和 z 的值结束。我需要做的是将值 y 和 z 分别移动到我可以使用的单独列中,因此数据如下所示:
c6 c7 c8 c9 c10
1 a b c y z
2 a b y z
3 a y z
4 a b c y z
我已经确定了每行每个序列的长度并将其添加为一列,所以我知道 y 和 z 位于哪一列:
x$not.na <- apply(paths, 1, function(x) length(which(!x=="")))
但是我被困在如何在每一行上循环(?)以执行 z 和 y 的必要剪切和粘贴。