我的数据是这样的:
ID:10:237,204,
ID:11:257,239,
ID:12:309,291,
ID:13:310,272,
ID:14:3202,3184,
ID:15:404,388,
我想首先将其分成不同的列,然后在每一行上应用一个函数来计算逗号分隔值的差异,例如 (237-204)。无需使用外部库包。
试试这个,除非数据在一个文件中,用这样的readLines
东西替换该行:L <- readLines("myfile.csv")
. 之后使用逗号替换冒号,gsub
然后阅读结果文本transform
:
# test data
Lines <- "ID:10:237,204,
ID:11:257,239,
ID:12:309,291,
ID:13:310,272,
ID:14:3202,3184,
ID:15:404,388,"
L <- readLines(textConnection(Lines))
DF <- read.table(text = gsub(":", ",", L), sep = ",")
transform(DF, diff = V3 - V4)
给予:
V1 V2 V3 V4 V5 diff
1 ID 10 237 204 NA 33
2 ID 11 257 239 NA 18
3 ID 12 309 291 NA 18
4 ID 13 310 272 NA 38
5 ID 14 3202 3184 NA 18
6 ID 15 404 388 NA 16