我有一个具有以下结构的txt文件:
NAME DATA1 DATA2
a 10 1,2,3
b 6 8,9
c 20 5,6,7 ,8
Run Code Online (Sandbox Code Playgroud)
第一行表示标题,数据由制表符分隔.我需要将DATA1列表或向量中的元素放在一个可以逐个遍历元素的方式中.
此外,我需要DATA2为每个元素提取元素NAME并将它们放在一个列表中,这样我就可以单独遍历,例如获取NAMEb 的元素8,9 并将其放入列表中.(请注意,第三个记录在列表中的空格和逗号DATA2之间7).
我怎么能做到这两个操作?我知道我可以使用read.table和$访问单个元素,但我被卡住了.
info<-read.table("table1", header=FALSE,sep="\t")
namelist<-list(info$NAME)
Run Code Online (Sandbox Code Playgroud)
运行这个演示,看看结构n,d1以及d2-这应该可以帮助您去:
df = read.table(text="NAME\tDATA1\tDATA2
a\t10\t1,2,3
b\t6\t8,9
c\t20\t5,6,7 ,8",
header= TRUE,
stringsAsFactors=FALSE,
sep='\t')
n = df$NAME
d1 = df$DATA1
d2 = lapply(strsplit(df$DATA2, ","),
as.numeric)
names(d2) = n
d2['b'][1] # access first element in list named 'b'
lapply(d2, FUN=mean) # mean of all rows in d2
Run Code Online (Sandbox Code Playgroud)