R plot_u u l打印由于从列表中提取错误行而丢失的值

R plot_u u l打印由于从列表中提取错误行而丢失的值,r,extract,r-plotly,R,Extract,R Plotly,我有以下数据: > data Type value 1 aromatics.aromatics 0.974489796 2 aromatics.charged 0.005102041 3 aromatics.polar 0.005102041 4 aromatics.unpolar 0.015306122 5 charged.aromatics 0.008620690 6 charged.charged

我有以下数据:

> data
                  Type       value
1  aromatics.aromatics 0.974489796
2    aromatics.charged 0.005102041
3      aromatics.polar 0.005102041
4    aromatics.unpolar 0.015306122
5    charged.aromatics 0.008620690
6      charged.charged 0.982758621
7        charged.polar 0.006465517
8      charged.unpolar 0.002155172
9      polar.aromatics 0.000000000
10       polar.charged 0.008403361
11         polar.polar 0.983193277
12       polar.unpolar 0.008403361
13   unpolar.aromatics 0.005532503
14     unpolar.charged 0.000000000
15       unpolar.polar 0.011065007
16     unpolar.unpolar 0.983402490

> typeof(data)
[1] "list"

# I keep only some rows of the data :

rows <- c(2,3,4,7,8,12)    
data.2 <- data[rows,]   

# result
> data.2 
                Type       value
2  aromatics.charged 0.005102041
3    aromatics.polar 0.005102041
4  aromatics.unpolar 0.015306122
7      charged.polar 0.006465517
8    charged.unpolar 0.002155172
12     polar.unpolar 0.008403361
使用主
数据的所有行设置x轴(见图)

事实上:

# data.2[,1] is :
[1] aromatics.charged aromatics.polar   aromatics.unpolar charged.polar     charged.unpolar   polar.unpolar    
16 Levels: aromatics.aromatics aromatics.charged aromatics.polar aromatics.unpolar charged.aromatics ... unpolar.unpolar``

# while data.2[,2] is :
[1] 0.005102041 0.005102041 0.015306122 0.006465517 0.002155172 0.008403361
所以我想我提取线条的方法是错误的,因为所有的层次都是。。。我怎样才能纠正这个问题?请注意,使用
ggplot2时不会出现此问题。


备注:我还使用
add_markers()
函数来绘制补充数据(不同的值,但相同的x级别),它也会产生相同的问题。

也许在类型变量中删除未使用的级别可以解决您的问题

因此,请尝试:

 data.2$Type <- droplevels(data.2$Type)
data.2$Type找到了它:

droplevels(data.2)

我真傻。

你能用
dput()添加数据吗。否则,我们无法测试你的代码。我刚刚找到了一个解决方案:我必须使用droplevels函数。下次我会看看dput是如何工作的!我自己刚找到:)
droplevels(data.2)