关于以下内容的问题:
我有一个字符串向量foo:
>foo = c("1x2","3x4","5x6","7x8","9x10")我将单独的字符串拆分到“x”上,并将结果粘贴到goo中:
>goo = strsplit(foo, "x")
>goo
[[1]]
[1] "1" "2"
[[2]]
[1] "3" "4"
[[3]]
[1] "5" "6"
[[4]]
[1] "7" "8"
[[5]]
[1] "9" "10"如何从列表中提取第一列和第二列?(我想要(1,3,5,7,9)和(2,4,6,8,10))
发布于 2018-04-10 04:25:35
使用sapply使用“[”来串行‘提取’:
sapply(goo, "[[" , 1)
[1] "1" "3" "5" "7" "9"我一直认为这应该是结果,但我可能不理解其中的问题。
发布于 2018-04-10 04:28:08
> result <- do.call(rbind, goo)
> result
[,1] [,2]
[1,] "1" "2"
[2,] "3" "4"
[3,] "5" "6"
[4,] "7" "8"
[5,] "9" "10"
> result[, 1] # column 1
[1] "1" "3" "5" "7" "9"
> result[, 2] # column 2
[1] "2" "4" "6" "8" "10"发布于 2018-04-10 04:25:52
最简单的方法是将结果包装在sapply语句中
odd_results <- sapply(goo, function(x) x[1])和
even_results <- sapply(goo, function(x) x[2])https://stackoverflow.com/questions/49741092
复制相似问题