从字符向量

时间:2017-03-20 02:24:55

标签: r dplyr

有时需要将具有数据框列名称的向量传递给函数(在我的情况下为dplyr mutate)。

示例列名称向量为c(V1, V2, V3, V4, V5, V6, V7, V8, V9, V10)

我可以将其构建为paste0("V", 1:10)的字符向量。

> paste0("V", 1:10)
 [1] "V1"  "V2"  "V3"  "V4"  "V5"  "V6"  "V7"  "V8"  "V9"  "V10"

如何对其进行转换,使其可以传递到下面的中值函数,而不是在那里写下笨重的长列名?

df %>%
rowwise() %>%
mutate(median_val = median(c(V1, V2, V3, V4, V5, V6, V7, V8, V9, V10), na.rm = T))

示例数据

id  loc  V1  V2  V3  V4  V5  V6  V7  V8  V9 V10
1  loc1  80  80  80  80  64  64  80  80  80  80
2  loc2  64  64  64  64  64  NA  NA  NA  NA  NA 
3  loc2 256 256 256 240 240 240 240 240 240 240 
4  loc3  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA

预期输出

id  loc  median_val
1  loc1  80
2  loc2  64 
3  loc2 240
4  loc3  NA

1 个答案:

答案 0 :(得分:1)

    public class SomeClass {
        private static ArrayList<String> _myList = new ArrayList<>();

        public static void add(String str) {
            _myList.add(str);
        }

        public static int getCount() {
            return _myList.length;
        }
    }