Как преобразовать кадр данных в вектор, который будет использоваться в качестве параметра в функции, которая принимает только ОДИН параметр в R - PullRequest
0 голосов
/ 01 сентября 2018

Я хочу преобразовать XYZ в цветовое пространство Lab, используя функцию XYZ2Lab в пакете colorscience, однако функция принимает только один параметр (вектор, включающий три числа, соединенные с 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)

1 Ответ

0 голосов
/ 01 сентября 2018

без преобразования и петли,

t(apply(xyzs,1,XYZ2Lab)) 

можно использовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...