Mic*_*sen 3 interaction r string-split
我在遇到以下问题时遇到了很多麻烦,似乎无法通过广泛的搜索找到答案.如果我有以下内容:
> fac1 <- factor(c("a", "b", "c"))
> fac2 <- factor(c("d", "e", "f"))
> fac3 <- interaction(fac1,fac2)
> fac3
[1] a.d b.e c.f
Levels: a.d b.d c.d a.e b.e c.e a.f b.f c.f
Run Code Online (Sandbox Code Playgroud)
我可以运行什么功能来拆分fac3,以便获得投入交互的原始因素的级别?以便:
> myFun(fac3, 1)
[1] "a" "b" "c" "a" "b" "c" "a" "b" "c"
> myFun(fac3, 2)
[2] "d" "d" "d" "e" "e" "e" "f" "f" "f"
Run Code Online (Sandbox Code Playgroud)
谢谢.
> myFun <- function(fac, idx) sapply( strsplit(as.character(fac), "\\."), "[", idx)
> myFun(fac3,1)
[1] "a" "b" "c"
> myFun(fac3,2)
[1] "d" "e" "f"
Run Code Online (Sandbox Code Playgroud)
根据您对这些向量的要求,您可以在结果周围包含factor().你的问题有些含糊不清.看看@ user1317221的贡献我看到它确实返回了你所说的你想要的但是当你说你想要因素的水平时,我认为你想要的载体只有'fac3'有三个元素,尽管有更长的水平属性.