是否有一种方法可以将整数值分配给 R 中的因子
Is there a methodology to assign integer values to factors in R
我对 R 很陌生,但想知道是否有一种特定的方法可以从我的数据框中 group/analyze 整数值,即
样本 X:整数 1 2 3 4 5
样本 Y:整数 6 7 8 9 10
样本 Z:整数 11 12 13 14 15
并将这些分配给我的因子变量,该变量具有相应的级别数(本例中为 5),在此示例中称为 lvl 1、lvl 2、lvl 3、lvl 4、lvl 5。目标是能够绘制每个级别的观察结果,例如 lvl 1 有观察结果 1、6 和 11/lvl 2 有 2、7 和 12,等等
我找不到干净的方法来做到这一点。其他尝试包括单独输入每个样本的名称并手动将其链接到因子水平,但这并不顺利。
如有任何建议,我们将不胜感激!
如果我没理解错的话,您希望每个 x
、y
和 z
观察值与一个级别相关联并按级别绘制。
library(ggplot2)
library(reshape2)
df = data.frame(x = 1:5, y = 6:10, z = 11:15)
df$level = factor(paste0("lvl",1:5))
df
df
# x y z level
# 1 1 6 11 lvl1
# 2 2 7 12 lvl2
# 3 3 8 13 lvl3
# 4 4 9 14 lvl4
# 5 5 10 15 lvl5
使用长格式数据进行绘图更容易(使用 ggplot2
包)。我在这里使用 reshape2::melt
但您可以使用 tidyr::pivot_long
找到等效的解决方案
df <- reshape2::melt(df, id.vars = "level")
df
level variable value
1 lvl1 x 1
2 lvl2 x 2
3 lvl3 x 3
4 lvl4 x 4
5 lvl5 x 5
6 lvl1 y 6
7 lvl2 y 7
8 lvl3 y 8
9 lvl4 y 9
10 lvl5 y 10
11 lvl1 z 11
12 lvl2 z 12
13 lvl3 z 13
14 lvl4 z 14
15 lvl5 z 15
终于可以出图了。假设您想要每个级别的分数:
ggplot(df, aes(x = level, y = value)) + geom_point()
我对 R 很陌生,但想知道是否有一种特定的方法可以从我的数据框中 group/analyze 整数值,即
样本 X:整数 1 2 3 4 5
样本 Y:整数 6 7 8 9 10
样本 Z:整数 11 12 13 14 15
并将这些分配给我的因子变量,该变量具有相应的级别数(本例中为 5),在此示例中称为 lvl 1、lvl 2、lvl 3、lvl 4、lvl 5。目标是能够绘制每个级别的观察结果,例如 lvl 1 有观察结果 1、6 和 11/lvl 2 有 2、7 和 12,等等
我找不到干净的方法来做到这一点。其他尝试包括单独输入每个样本的名称并手动将其链接到因子水平,但这并不顺利。
如有任何建议,我们将不胜感激!
如果我没理解错的话,您希望每个 x
、y
和 z
观察值与一个级别相关联并按级别绘制。
library(ggplot2)
library(reshape2)
df = data.frame(x = 1:5, y = 6:10, z = 11:15)
df$level = factor(paste0("lvl",1:5))
df
df
# x y z level
# 1 1 6 11 lvl1
# 2 2 7 12 lvl2
# 3 3 8 13 lvl3
# 4 4 9 14 lvl4
# 5 5 10 15 lvl5
使用长格式数据进行绘图更容易(使用 ggplot2
包)。我在这里使用 reshape2::melt
但您可以使用 tidyr::pivot_long
df <- reshape2::melt(df, id.vars = "level")
df
level variable value
1 lvl1 x 1
2 lvl2 x 2
3 lvl3 x 3
4 lvl4 x 4
5 lvl5 x 5
6 lvl1 y 6
7 lvl2 y 7
8 lvl3 y 8
9 lvl4 y 9
10 lvl5 y 10
11 lvl1 z 11
12 lvl2 z 12
13 lvl3 z 13
14 lvl4 z 14
15 lvl5 z 15
终于可以出图了。假设您想要每个级别的分数:
ggplot(df, aes(x = level, y = value)) + geom_point()