首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >考虑元素的顺序来计算数据帧中值的出现次数

考虑元素的顺序来计算数据帧中值的出现次数
EN

Stack Overflow用户
提问于 2016-09-29 21:26:31
回答 1查看 59关注 0票数 0

我在R中是新手,我有一个问题:我需要计算数据帧中值的出现情况,但考虑到顺序。

示例:

这是我的一列数据框架

代码语言:javascript
复制
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

所以,我需要在一个新的数据帧中计算并保存它。

代码语言:javascript
复制
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

到目前为止,我还没有找到解决问题的方法,所以我编写了以下代码:

代码语言:javascript
复制
# 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 (dataseti == dataseti + 1)中的错误{:参数长度为零

我不能把它作为字符串传递

df_weighted_graph1,$name <- dataset1

它保存为一个数字,而不是数据集中的名称。

任何对代码的帮助或更好的想法都是感恩的!

编辑

对于第二个输出错误

df_weighted_graph1,$name <- dataset1

这是因为没有在stringsAsFactors=False命令中使用read.csv命令。

所以,要解决这个问题应该是

read.csv(path_file,stringsAsFactors=FALSE)

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 21:42:02

使用表函数。

代码语言:javascript
复制
table(data$value)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39780297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档