私はRで新しく、この問題があります。データフレーム内の値の出現を数えますが、順序を考慮する必要があります。要素の順序を考慮してデータフレーム内の値の出現をカウントする
例:
これは、1列
Value
(http_inspect) BARE BYTE UNICODE ENCODING
(http_inspect) BARE BYTE UNICODE ENCODING
(http_inspect) BARE BYTE UNICODE ENCODING
WEB-MISC Chunked-Encoding transfer attempt
WEB-MISC Chunked-Encoding transfer attempt
(http_inspect) BARE BYTE UNICODE ENCODING
(http_inspect) BARE BYTE UNICODE ENCODING
WEB-MISC Chunked-Encoding transfer attempt
WEB-MISC Chunked-Encoding transfer attempt
WEB-MISC Chunked-Encoding transfer attempt
だから、と私のデータフレームですが、私はこれまでのところ、私はdidnの
Value Frequency
(http_inspect) BARE BYTE UNICODE ENCODING 3
WEB-MISC Chunked-Encoding transfer attempt 2
(http_inspect) BARE BYTE UNICODE ENCODING 2
WEB-MISC Chunked-Encoding transfer attempt 3
新しいデータフレームにそれをカウントして保存する必要があります私の問題を解決する方法を見つけるので、私はこれをコード化しました:
# data frame with one column
dataset <- read.csv(path_file)
# new data frame to save name and frequency
df_weighted_graph <- data.frame(
name=character(),
frequency=numeric(),
stringsAsFactors=FALSE
)
# Variables
frequency <- 1
index <- 1
# Inicialize first position
df_weighted_graph[1,]$name <- dataset[1]
df_weighted_graph$[1,]frequency <- frequency
for(i in 1:length(dataset)-1)
{
if(dataset[i] == dataset[i+1])
{
frequency <- frequency + 1
}
else{
#Update frequency
df_weighted_graph[index,]$frequency <- frequency
index <- index + 1
frequency <- 1
# New element
df_weighted_graph[index,]$name <- dataset[i]
df_weighted_graph[index,]$frequency <- frequency
}
}
それにいくつかのエラーメッセージを示します。if(データセット[I] ==データセット[I + 1]){で
エラー:引数が長さゼロ
と私はよ文字列
df_weighted_graph [1、] $名<としてこれを通過することができません - データセット[1]
それをSAVデータセットの名前ではなく番号としてesを指定します。
コードまたはより良いアイデアについてのお手伝いはありがたいです!
編集
第二の出力誤差についてはdf_weighted_graph [1、] $名< - データセット[1]
読み込み中= FalseをstringsAsFactorsを主張逃したからです.csvコマンド。これは、表関数を使用し
read.csv(path_file、stringsAsFactors = FALSE)
テーブル機能を管理してみましたか? – Ansjovis86