for 루프에 CSV 파일을 쓰고 싶습니다. 데이터 프레임이 data
이고 변수가 x
인 간단한 3 개의 행이 있다고 가정 해 보겠습니다. 결국, 나는 내 출력물을 200 개의 .csv 파일로 만들고 싶다. 각 파일에는 한 줄의 데이터가 들어있다. 데이터의 첫 번째 열은 내 변수의 ID ("ID")입니다.for 루프에 .csv를 씁니다.
또한, 내 데이터는 다음과 같이 설명되어 있습니다 :
data:
ID x
[1] a 1
[2] b 2
[3] c 3
for (i in nrow(data)){
write.csv(data[i,2], file = paste0("Directory/", "data[i,1], ".csv"))
}
는이 코드 및 CSV 파일이 생성을 실행합니다. 그러나 마지막 행만 만들어 지므로 하나의 파일 c.csv
만 있으면됩니다.
내가 뭘 잘못하고 있는지 알아? 모든 아카이브를 자동으로 만들 것이라고 생각했습니다. 결과를 목록에 먼저 저장 한 다음 내보내기해야합니까?
어쩌면 내가 잘못 계산하고 있지만 인용 부호가있는 것으로 보입니다. 코드 1 : 1을 복사하여 붙여 넣었습니까? – patrick
'nrow (data)'는 하나의 숫자이며, 반복 할 일련의 숫자가 아닙니다. '1 : nrow (data)'또는'seq (nrow (data)) '가 필요합니다. 아니면 그냥'lapply'를 사용하십시오. 또한, 데이터 [i, 1]'에 대한 추가 인용문이 있습니다. – alistaire
@Rafael의 대답은 대단합니다. 그러나 코드가 작동하지 않는 이유를 설명하기에는 너무 복잡 할 수도 있습니다. 아래의 코드를 사용하여 자신의 것과 비교하십시오. 아포스트로피를 사용하는 곳에 유의하십시오. for (i in 1 : nrow (data)) { write.csv (data [i, 2], file = paste0 ("Directory/", data [i, 1],".csv ")) } 또한 R의 일반적인 팁은 데이터"데이터 "를 호출하지 말고 필요하면"dat "또는"data1 "이라고 부릅니다. – paleo13