'기타' 카테고리의 다른 글
| 테뷸러를 이용한 데이터 시각화 (0) | 2018.08.20 |
|---|---|
| 컴퓨터는 어떻게 4차원을 계산할까? (0) | 2018.08.20 |
| 테뷸러를 이용한 데이터 시각화 (0) | 2018.08.20 |
|---|---|
| 컴퓨터는 어떻게 4차원을 계산할까? (0) | 2018.08.20 |
해야할일
| Spark 관련 읽어보기 (0) | 2018.08.28 |
|---|---|
| 컴퓨터는 어떻게 4차원을 계산할까? (0) | 2018.08.20 |
알아봐야지
궁금
| Spark 관련 읽어보기 (0) | 2018.08.28 |
|---|---|
| 테뷸러를 이용한 데이터 시각화 (0) | 2018.08.20 |
R은 인덱싱을 1부터 시작한다.
getwd() : 현재 작업 폴더 확인
DATAFRAME[ n, m] : 해당 행 열에 값을 return,
DATAFRAME[ n, ] : 해당 행 전체를 return.
# : 주석
$ : 데이터 프레임으로부터 열을 선택하려면 데이터 프레임 이름과 열 이름을 $기호로 구분하여 적어 준다.
NA : '사용할 수 없다'는 것을 의미하고, 정보를 손실했다는 것을 의미한다. 결측값.
| 도움말 사용하기 (0) | 2016.08.22 |
|---|---|
| 반복 실행 replicate (0) | 2016.08.19 |
| 그래프 라이브러리 qplot (0) | 2016.08.19 |
| R 함수 구조 (0) | 2016.08.19 |
물음표함수명
(ex: ?sqrt)
| R 명령어와 주의사항 몇가지 (0) | 2016.08.22 |
|---|---|
| 반복 실행 replicate (0) | 2016.08.19 |
| 그래프 라이브러리 qplot (0) | 2016.08.19 |
| R 함수 구조 (0) | 2016.08.19 |
rolls <- replicate(10000, roll())
qplot(rolls, binwidth =1)
| R 명령어와 주의사항 몇가지 (0) | 2016.08.22 |
|---|---|
| 도움말 사용하기 (0) | 2016.08.22 |
| 그래프 라이브러리 qplot (0) | 2016.08.19 |
| R 함수 구조 (0) | 2016.08.19 |
install.packages("ggplot2")
| R 명령어와 주의사항 몇가지 (0) | 2016.08.22 |
|---|---|
| 도움말 사용하기 (0) | 2016.08.22 |
| 반복 실행 replicate (0) | 2016.08.19 |
| R 함수 구조 (0) | 2016.08.19 |
roll <- function(die = 1:6){
dice <- sample(die, size = 2, replace =TRUE)
sum(dice)
}
1. roll : 이름. 사용자는 이름 옆에 괄호를 붙여서 함수를 호출할 수 있다. (ex : roll() )
2. { 내용 } : 본체. 사용자가 함수를 호출하면 R은 이 부분의 코드를 실행한다.
3. die : 인수. 사용자는 이 변수에 값을 지정해서 함수를 호출한다. 이 변숫값은 함수 본체에서 사용된다.
4. 1:6 : 기본값. 함수를 호출할 때 인숫값을 지정하지 않으면 미리 정해 둔 기본값을 사용한다.
5. sum(diece) : 코드의 마지막 줄. 함수는 마지막 줄의 결과를 돌려준다.
| R 명령어와 주의사항 몇가지 (0) | 2016.08.22 |
|---|---|
| 도움말 사용하기 (0) | 2016.08.22 |
| 반복 실행 replicate (0) | 2016.08.19 |
| 그래프 라이브러리 qplot (0) | 2016.08.19 |
c# 에서 timer는 크게 3종류로 나뉜다는데, 이번에 사용한건 System.Threading.Timer 이다.
아직도 Thread를 잘 이해하지 못하고 있지만, 여러가지 동작은 병렬로 수행하려면 Thread를 사용해야 할 것 같아서 이를 사용했다.
class timerTest{
delegate void TimerEventFiredDelegate();
System.Threading.Timer timer;
static void main(string[] args)
{
timer = new System.Threading.Timer(Callback);
timer.Change(0, 1000) //dueTime 은 Timer가 시작되기 전 대기 시간(ms)
}
void Callback(obejct status)
{
BeginInvoke(new TimerEventFiredDelegate(Work));
}
private void Work()
{
//timer로 작업할 내용
}
}
UI에서 사용할 경우는 Cross-Thread 문제가 발생하므로 Invoke 또는 BeginInvoke 를 사용해서 마샬링(?)을 통한 호출을 처리하여야 한다.
라는 설명이 있는데 아직 잘 모르겠다.
| [c#] DataGridView (0) | 2016.02.11 |
|---|
일을 하다보니 c#을 하게되어 요즘 걸음마 수준으로 c#을 해나가고있다. 간단하게 UI를 구성 할 일이 있어 dataGridView를 사용해 봤는데, 생각보다 좋다. dataGridView에 buttonColumn을 추가하여 사용 하는 방법이다.
이를 응용하면 수정이나 삭제도 가능.
출처 : http://purestarman.tistory.com/m/post/248
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int intchange;
try
{
if (dataGridView1.CurrentCell != null)
{
// 모든 행의 CheckBox값을 False로 설정
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1[6, i].Value = false; // 6은 CheckBox가 있는 열 번호
}
// 현재 선택된 행의 CheckBox값을 True로 설정
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
{
//Convert.ToInt32 => string을 int로 변환
intchange = Convert.ToInt32(dataGridView1.SelectedRows[i].Cells[0].Value.ToString());
dataGridView1[6, intchange].Value = true;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}| [c#] timer (0) | 2016.03.14 |
|---|