小编SCW*_*W16的帖子

将矩阵转换为数字数据框

我有一些格式不太方便的数据。它被保存为一个矩阵,所有的列向量都是字符。

datamatrix <- structure(c("1", "2", "3", "4", "0.9301", "0.93", "0.9286", "0.9209", 
                          "0.9", "0.8064", "0.7947", "0.7607", "0.8042", "0.7847", "0.7832", 
                          "0.7578", "0.7487", "0.7105", "0.6566", "0.5951", "0.6951", "0.677", 
                          "0.6588", "0.5922", "0.6889", "0.6471", "0.6524", "0.5932"), .Dim = c(4L, 
                                                                                                7L))
Run Code Online (Sandbox Code Playgroud)

我的目标是将此矩阵转换为数据框,并将列向量转换为数值类。

我尝试了以下程序:

1)

datamatrix2 <- as.data.frame(datamatrix)
datamatrix2 <- as.numeric(datamatrix2)
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

"Error: (list) object cannot be coerced to type 'double'"
Run Code Online (Sandbox Code Playgroud)

2)所以我用sapply试试:

datamatrix3 <- as.data.frame(sapply(datamatrix, as.numeric))
Run Code Online (Sandbox Code Playgroud)

这将我之前拥有的所有列都放在长列中。

3)当我对已经转换为数据帧(但仍然是字符向量)的数据使用 2) 中的应用函数时,它从第一列 (1,2,3,4) 中获取值并将其放入所有其他列(但按降序排列)。

datamatrix4 <- as.data.frame(sapply(datamatrix2, as.numeric))
Run Code Online (Sandbox Code Playgroud)

r matrix dataframe

6
推荐指数
1
解决办法
1万
查看次数

ggplot线条绘制不同颜色的部分

我想在ggplot中绘制不同数据组之间的连续线.我的数据集有三组数据1,2或3.

ggplot(Dataset_v2.2.clusterplot, aes(Date, Number_IPOs, color = factor(label)))+
  geom_point()+
  geom_line()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我的问题是,对于绿色的组2,数据以不同的时间间隔传播,因此,ggplot连接它们.实际上,ggplot基于color命令将我的数据三行显示出来,其中最初只有一行如下:

在此输入图像描述

有没有办法根据三个组对线路进行着色而不会在组内部和互连之间中断(当它们被传播时)?

这是数据:

Dataset_v2.2.clusterplot <- structure(list(Date = structure(c(959817600, 962409600, 965088000, 
                                  967766400, 970358400, 973036800, 975628800, 978307200, 980985600, 
                                  983404800, 986083200, 988675200, 991353600, 993945600, 996624000, 
                                  999302400, 1001894400, 1004572800, 1007164800, 1009843200, 1012521600, 
                                  1014940800, 1017619200, 1020211200, 1022889600, 1025481600, 1028160000, 
                                  1030838400, 1033430400, 1036108800, 1038700800, 1041379200, 1044057600, 
                                  1046476800, 1049155200, 1051747200, 1054425600, 1057017600, 1059696000, 
                                  1062374400, 1064966400, 1067644800, 1070236800, 1072915200, 1075593600, 
                                  1078099200, 1080777600, 1083369600, 1086048000, 1088640000, 1091318400, 
                                  1093996800, 1096588800, 1099267200, 1101859200, 1104537600, 1107216000, 
                                  1109635200, 1112313600, 1114905600, 1117584000, 1120176000, 1122854400, 
                                  1125532800, …
Run Code Online (Sandbox Code Playgroud)

r colors ggplot2

4
推荐指数
1
解决办法
3878
查看次数

如何在 R dplyr 过滤器中实现条件过滤器

我有以下 2 列 15 行数据:

data_1 <- structure(list(column_1 = c(120, 130, NA, NA, NA, 130, 182, 130, 
NA, 925, NA, 181, 182, 188, NA), column_2 = c(7, NA, 1, 1, 1, 
3, 7, NA, 1, NA, 1, NA, 1, 1, 1)), row.names = c(NA, -15L), class = c("tbl_df", 
"tbl", "data.frame"))
Run Code Online (Sandbox Code Playgroud)
列_1 列_2
1 120 7
2 130 不适用
3 不适用 1
4 不适用 1
5 不适用 1
6 130 3
7 182 7
8 130 不适用
9 不适用 1
10 …

r filter conditional-statements dplyr

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

标签 统计

r ×3

colors ×1

conditional-statements ×1

dataframe ×1

dplyr ×1

filter ×1

ggplot2 ×1

matrix ×1