我在R中,我只想从df1中提取数字.
例如,我有:
df1 <- data.frame( column1 = c("Any[12, 15, 20]", "Any[22, 23, 30]"), column2 = c("Any[4, 17]", "Any[]"), stringsAsFactors = F )
个
我想要一个新的df,它将括号内的整数乘以行号,并保留与其对应的列信息.
例如: New_df可能如下所示
Time | Channel |
---|---|
12 | column1 |
15 | column1 |
20 | column1 |
44 | column1 |
46 | column1 |
60 | column1 |
8 | column2 |
34 | column2 |
我不需要保留任何"NA"值,例如,如果有任何[]为空. 有谁知道这是不是可能的? 我有大量的这种格式的数据,所以我真的不能手动做很多事情. 干杯!
我已经试过了:
new_df$Time <- as.integer(df1$column1)
个
而这只是一片空白.
我还试过:
new_df$Time <- str_extract_all(new_df$Time, "\\d+" ) %>% lapply(function(x) as.integer(x)) %>% sapply(function(x) if.else(length(x) >0, x, NA) )
个
然后才返回每个括号内的第一个整数. 例如:
Time | Channel |
---|---|
12 | column1 |
44 | column1 |
8 | column2 |