Использование `lapply` для переименования выбранных столбцов в списке

Нет ни одного, но его не так сложно сделать. Я нашел здесь: clamp

Это:

public static T Clamp(T value, T max, T min)
    where T : System.IComparable {
        T result = value;
        if (value.CompareTo(max) > 0)
            result = max;
        if (value.CompareTo(min) < 0)
            result = min;
        return result;
    }

И его можно использовать как:

int i = Clamp(12, 10, 0); -> i == 10
double d = Clamp(4.5, 10.0, 0.0); -> d == 4.5

0
задан Moody_Mudskipper 17 January 2019 в 09:34
поделиться

1 ответ

В этом случае я бы предложил использовать mapply вместо

mapply(function(x, y) {names(x)[2] <- y; x}, templist, allobj)

#[[1]]
#   fruit     df1 price
#1  apple   Japan    32
#2 Orange   China    53
#3   Pear Nigeria    12

#[[2]]
#     grocery      df2  name favourite.food invoice
#1     Durian    Korea  Mark          Apple     XD1
#2      Apple    Japan  John         ORANGE     XD2
#3  Watermelon Malaysia Tammy         Cakes     XD3

#[[3]]
#   address   df3
#1 address1   USA
#2 address2    UK
#3 address3 China

Если вы хотите использовать lapply, вы можете использовать x в качестве индекса для поднабора обоих [115 ], а также allobj, поскольку для 1-го списка нам нужно имя из 1-го значения allobj, для 2-го списка мы хотим 2-е значение allobj и т. д.

lapply(seq_along(templist), function(x) {
   names(templist[[x]])[2] <- allobj[x]
   templist[[x]]
 })
0
ответ дан Ronak Shah 17 January 2019 в 09:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: