這是一個基本問題,我很尷尬地問。將分隔字符串轉換爲數據框中的數字向量
比方說,我有一個數據幀完全包含以下形式的數據列:
test <-"3000,9843,9291,2161,3458,2347,22925,55836,2890,2824,2848,2805,2808,2775,2760,2706,2727,2688,2727,2658,2654,2588"
我想將其轉換爲數字向量,這是我喜歡這樣做:
test <- as.numeric(unlist(strsplit(test, split=",")))
我現在要包含這個充滿數據的列到一個數值向量當量的大數據幀轉換:
mutate(data,
converted = as.numeric(unlist(strsplit(badColumn, split=","))),
)
因爲那時它轉換整列到一個數值向量,然後用該值替代單行這不起作用:
Error in mutate_impl(.data, dots) : Column
converted
must be length 20 (the number of rows) or one, not 1274
我該怎麼辦呢?
分割後該列太長。它看起來像你的數據只有20行,但拆分列有1274個元素。如果你不想把它作爲數據中的新列(這是mutate的作用),你可以使用'as.numeric(unlist(strsplit(data $ badColumn,split =「,」)))' –
我明白,但我很困惑,爲什麼是這樣。當前行包含「10,20,30,40」等值,我只是希望將這些值替換爲相當於c(10,20,30,40)的數字向量。 – Parseltongue
所以你想在給定的行中有多個數值?例如。第1行可能有'c(10,20,30)'? –