我想使用XYZ2Lab
包中的colorscience
函数将XYZ转换为Lab色彩空间,但是该函数仅接受一个参数(一个包含三个数字的向量,该向量与c
相连),并且我想转换一系列存储在数据框中的XYZ。我应该使用哪个函数将数据帧转换为XYZ2Lab
可以不使用循环使用的向量?
xyzs <-structure(list(X = c(33.75, 30.56, 31.1, 26.3, 36.27, 33.44,
31.85, 32.83, 33.49, 31.14), Y = c(34.94, 31.67, 31.93, 27.55,
36.46, 33.64, 32.62, 34.41, 34.35, 31.67), Z = c(7.59, 7.26,
8.39, 8.5, 8.77, 8.18, 8.87, 14.78, 9.8, 8.76)), class = "data.frame",
row.names = c(NA, 10L))
colorscience::XYZ2Lab(xs) #could not be run.
#Error in XYZmatrix[, 1]/Rx : non-numeric argument to binary operator
xs <- some function (xyzs)??
colorscience::XYZ2Lab(xs)
答案 0 :(得分:1)
没有转换和循环,
t(apply(xyzs,1,XYZ2Lab))
可以使用