小编Wag*_*rge的帖子

使用ggplot2和plotly绘制3D棱镜

我有一个a包含三个矩阵的列表和一个h有三个高度的矢量(任何正实数).这些矩阵形成三角形,即棱镜的基底.我想添加矢量信息h来构建棱镜.

我创建了一个在2D(pplot)中绘制图形的函数.如何绘制棱镜,如下图所示?

让我们pplot玩具的问题是一个例子:

library(ggplot2)
pplot <- function(polygon){
  polygon <- lapply(polygon, function(x) {colnames(x) <- NULL; x})
  vertex_number = nrow(polygon[[1]])
  g = ggplot2::ggplot()
  names(polygon) = 1:length(polygon)
  k <- plyr::ldply(polygon, function(x) data.frame(x))
  g <- ggplot2::ggplot(k, ggplot2::aes(x = X1, y = X2, group = .id)) + ggplot2::geom_polygon(colour = "black", fill = NA)
  return(g)
}

a <- list()
b1 <- matrix(rnorm(6), ncol = 2)
b2 <- matrix(rnorm(6), ncol = 2)
b3 <- matrix(rnorm(6), …
Run Code Online (Sandbox Code Playgroud)

3d graphics r ggplot2

7
推荐指数
1
解决办法
631
查看次数

将字符串分成多列

我想将字符串中的每个字母或符号分开,以组成一个data.frame尺寸等于字母数的新字母。我想使用的功能separate,从tidyr包装,但结果不理想。

df <- data.frame(x = c('house', 'mouse'), y = c('count', 'apple'), stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)

意料之外的结果

df[1, ] %>% separate(x, c('A1', 'A2', 'A3', 'A4', 'A5'), sep ='')
    A1   A2   A3   A4   A5     y
1 <NA> <NA> <NA> <NA> <NA> count
Run Code Online (Sandbox Code Playgroud)

预期输出

A1  A2  A3  A4  A5
 h   o   u   s   e
 m   o   u   s   e
Run Code Online (Sandbox Code Playgroud)

stringr欢迎使用解决方案。

r stringr tidyr

3
推荐指数
1
解决办法
80
查看次数

标签 统计

r ×2

3d ×1

ggplot2 ×1

graphics ×1

stringr ×1

tidyr ×1