我有一个RGB值的CSV,即:
<img scr="mypic.png"
alt="example">
我想将它们应用于ggplot2栅格中的离散比例,该栅格正在寻找与RGB相反的十六进制代码
[1]230-000-070
[2]255-000-000
[3]204-077-242
...
...
(40 more rows)
我认为我需要此功能-如何将其应用于向量?
scale_colour_manual(values = c("#E60046", "#FF0000", "#CC4DF2"))
答案 0 :(得分:2)
您可以使用strsplit
函数用RGB值分割原始矢量,然后使用rgb2hex
将do.call
应用于strsplit
产生的列表(输出是列表)。 / p>
# Input vector
RGB <- c("230-000-070", "255-000-000", "204-077-242")
# Function to apply
rgb2hex <- function(r, g, b) {rgb(r, g, b, maxColorValue = 255)}
# Split orignal vector and pass to rgb2hex with do.call as list
do.call(rgb2hex, strsplit(RGB, "-"))
答案 1 :(得分:0)
您也可以这样做:
rgb2hex <- function(x) rgb(substr(x, 1, 3), substr(x, 5, 7), substr(x, 9, 11), maxColorValue = 255)
输出:
rgb2hex(rgb)
[1] "#E60046" "#FF0000" "#CC4DF2"
答案 2 :(得分:0)
在初次阅读csv时,最好通过将CREATE TRIGGER thequery4
ON employees
INSTEAD OF INSERT, DELETE
AS
BEGIN
IF EXISTS ( SELECT 1 FROM inserted i
WHERE NOT EXISTS ( SELECT 1
FROM DEPARTMENTS dp WHERE i.D_ID = dp.D_ID))
BEGIN
PRINT 'you are NOT allowed , B/C IS Its d_Id is not present in department '
END
ELSE
BEGIN
---- insert ----
END
END
指定为分隔符,将r,g,b值拆分为单独的列。尽管可以同样使用read.csv来代替,但此处使用-
进行了演示:
library(data.table)
NB要对示例数据进行测试,可以使用:
x = fread('my.csv', sep='-')
x[, rgb(V1,V2,V3, maxColorValue = 255)]