我有一个名为 d
的列表,如下所示:
V1
是 0 - 50 之间的整数集
V2
是 1500 - 1800 的真实集合
V3
是 1 - 50 之间的整数集
列表总共包含 5100 个对象
现在我想绘制 V2
的直方图,其中 V1
= 某个数字(0、1 或 10 等)
我尝试了不同的方法:
factor(d$V1)
qplot(V2, data=d, V1 = 1) --> not successful
d.subset <- subset(d, d$V1 = 1) --> not successful
我真的对此感到疯狂。检查d$V1
的特征,没有发现任何异常。有人可以帮我吗?
is.factor(d$V1)
[1] TRUE
str(d$V1) Factor w/ 51 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
levels(d$V1)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19"
[20] "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37""38"
[39] "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
最佳答案
更改行:
d.subset <- subset(d, d$V1 = 1)
至
d.subset <- subset(d, V1 == 1)
请注意双等号 ( ==
) 表示逻辑运算符。 =
用于分配并且不会对数据框进行子集化。
最后,如果您想获得 "1"
,您可能需要将 1 放在引号中。因子的水平(可能与数字 1
不同)。
d.subset <- subset(d, V1 == "1")
关于r - 使用 qplot 仅绘制数据的一个子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696710/