큰 csv 파일 new.dat
에 100s의 열 이름이 있습니다. .csv
으로 쓰여진 새로운 하위 집합의 첫 번째 열을 유지하면서 열 이름 당 new.dat
을 분할하려고합니다.큰 데이터 프레임을 열별로 나누고 개별 CSV에 쓰는 방법
new.dat <- structure(list(Sequence = c("AAAAAACCTGTTCTGATA", "AAAAAAGGCTGTTACTGAGC",
"AAAAACATTCGAGCGAGATCTCT", "AAAAACCTCGACTTCGGAAG", "AAAAAGCTCGTAGTTGAA",
"AAAAAGCTCGTAGTTGAAC"), WT1 = c("84", "104", "80", "35", "112",
"350"), WT2 = c("149", "478", "502", "186", "577", "911"), AGO1 = c("32",
"147", "433", "51", "258", "353"), AGO2 = c("37", "222", "355",
"85", "408", "420"), DCL1 = c("56", "185", "291", "48", "167",
"273"), DCL2 = c("59", "176", "294", "31", "185", "245"), NAs = c(0L,
0L, 0L, 0L, 0L, 0L)), .Names = c("Sequence", "WT1", "WT2", "AGO1",
"AGO2", "DCL1", "DCL2", "NAs"), row.names = c(NA, 6L), class = "data.frame")
new.dat
new.dat
데이터의 결과는 일곱 개 CSV 파일이 있어야합니다.
Sequence
및
WT1
열과 제 CSV
WT1.csv
, 등등과
Sequence
WT2
열과 함께 제 CSV 파일
WT2.csv
..
이것은 I가 시도하는 코드이다. 제가 여기서 누락 된 것을 제안하십시오. 감사합니다.
for (name in colnames(new.dat[-1])){
tmp=subset(new.dat$Sequence, colnames==name)
fn= name
#Save the CSV file
write.csv(tmp,fn,row.names=FALSE)
}
는 것을 의미 했 파일에 쓸 수 있습니다 여러 개의 'WT1' 열이 있습니까? 그렇다면 패턴이 있습니까? 이것들이 접두사입니까? – akrun
@akrun 아니요, 모든 새로운 csv 파일에 '시퀀스'열과 추가 열을 보관하고 싶습니다. 열 이름은 고유하고 반복적이지 않습니다. – MAPK
이 경우, 첫 번째 열, 즉 lst <- Map (function (x, y, z) setNames (cbind (x, y), c ("Sequence", z))을 사용하여 열을 cbind하고 반복하십시오. (new.dat [1]), new.dat [-1], 이름 (new.dat) [- 1])'을 읽고 csv에 쓰십시오. – akrun