> for(i in 1:length(reviews)){ + seg_word[[i]] <- segment(reviews[i], cutter) + } Error in jiebaclass_tag_tag(code, jiebar$worker) : CHAR() can only be applied to a 'CHARSXP', not a 'NULL'这个错误怎么解决
时间: 2023-06-13 18:02:42 浏览: 70
这个错误可能是因为你的 `reviews` 列表中有一些元素是空的,导致在 `segment()` 函数中出现了空值。你可以使用 `if` 语句来判断元素是否为空,然后跳过这些元素。下面是一个例子:
```
for (i in 1:length(reviews)) {
if (!is.null(reviews[[i]])) {
seg_word[[i]] <- segment(reviews[[i]], cutter)
}
}
```
这个代码会跳过空元素,然后将其他元素进行分词。
相关问题
module race_game ( input clk , input rst , input [3:0]key , output [6:0]seg_led_1 , output [6:0]seg_led_2 , ); reg clk_divided; reg [6:0] seg[9:0]; reg [23:0] cnt; integer k; localparam PERIOD = 12000000; // 12MHz时钟信号的周期数 always @(posedge clk) begin if (!rst) begin cnt <= 0; clk_divided <= 0; end else begin if (cnt >= PERIOD-1) begin cnt <= 0; clk_divided <= ~clk_divided; end else begin cnt <= cnt + 1; end end end initial begin seg[0] = 7'h3f; // 0 seg[1] = 7'h06; // 1 seg[2] = 7'h5b; // 2 seg[3] = 7'h4f; // 3 seg[4] = 7'h66; // 4 seg[5] = 7'h6d; // 5 seg[6] = 7'h7d; // 6 seg[7] = 7'h07; // 7 seg[8] = 7'h7f; // 8 seg[9] = 7'h6f; // 9 end always @ (posedge clk_divided) begin if(!rst) begin for(k=10;k>0;k=k-1) begin case(k) 1'd0:begin seg_led_1<=seg[0];seg_led_2<=seg[0]; end 1'd1:begin seg_led_1<=seg[0];seg_led_2<=seg[1]; end 1'd2:begin seg_led_1<=seg[0];seg_led_2<=seg[2]; end 1'd3:begin seg_led_1<=seg[0];seg_led_2<=seg[3]; end 1'd4:begin seg_led_1<=seg[0];seg_led_2<=seg[4]; end 1'd5:begin seg_led_1<=seg[0];seg_led_2<=seg[5]; end 1'd6:begin seg_led_1<=seg[0];seg_led_2<=seg[6]; end 1'd7:begin seg_led_1<=seg[0];seg_led_2<=seg[7]; end 1'd8:begin seg_led_1<=seg[0];seg_led_2<=seg[8]; end 1'd9:begin seg_led_1<=seg[0];seg_led_2<=seg[9]; end 1'd10:begin seg_led_1<=seg[1];seg_led_2<=seg[0]; end endcase end seg_led_1<=seg[0]; seg_led_2<=seg[0]; end end always @ (posedge clk) begin if(!rst)begin if(k == 0) case(key) 4'd1:begin seg_led_1<=seg[0];seg_led_2<=seg[1]; end 4'd2:begin seg_led_1<=seg[0];seg_led_2<=seg[2]; end 4'd4:begin seg_led_1<=seg[0];seg_led_2<=seg[3]; end 4'd8:begin seg_led_1<=seg[0];seg_led_2<=seg[4]; end endcase end end endmodule 帮我检查一下这段代码的错误
代码存在以下错误:
1. 代码中有多个 always 块,应将其合并为一个 always 块,同时加入对应的敏感信号。
2. 在 always @(posedge clk_divided) 块中,存在一个不必要的赋值 seg_led_1<=seg[0]; seg_led_2<=seg[0];,应该删除。
3. 在 always @(posedge clk) 块中,k 没有初始化,应该在一开始赋值为 0。
4. 在 always @(posedge clk) 块中,case 语句中没有 default 选项,不够健壮,应该加入 default 选项。
5. 在 case 语句中,应该将 4'd1、4'd2、4'd4、4'd8 改成 4'b0001、4'b0010、4'b0100、4'b1000,因为二进制更加易读。
修改后的代码如下所示:
```verilog
module race_game (
input clk,
input rst,
input [3:0]key,
output reg [6:0]seg_led_1,
output reg [6:0]seg_led_2
);
reg clk_divided;
reg [6:0] seg[9:0];
reg [23:0] cnt;
integer k = 0;
localparam PERIOD = 12000000;
always @(posedge clk) begin
if (!rst) begin
cnt <= 0;
clk_divided <= 0;
k <= 0;
end else begin
if (cnt >= PERIOD-1) begin
cnt <= 0;
clk_divided <= ~clk_divided;
end else begin
cnt <= cnt + 1;
end
end
end
always @ (posedge clk_divided) begin
if (!rst) begin
case(k)
10: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[0]; end
9: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[9]; end
8: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[8]; end
7: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[7]; end
6: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[6]; end
5: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[5]; end
4: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[4]; end
3: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[3]; end
2: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[2]; end
1: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[1]; end
0: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[0]; end
endcase
k <= k - 1;
end
end
always @ (posedge clk) begin
if (!rst) begin
k <= 0;
end else begin
if (k == 0) begin
case(key)
4'b0001: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[1]; end
4'b0010: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[2]; end
4'b0100: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[3]; end
4'b1000: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[4]; end
default: begin seg_led_1 <= seg[0]; seg_led_2 <= seg[0]; end
endcase
end
k <= k + 1;
end
end
initial begin
seg[0] = 7'h3f; // 0
seg[1] = 7'h06; // 1
seg[2] = 7'h5b; // 2
seg[3] = 7'h4f; // 3
seg[4] = 7'h66; // 4
seg[5] = 7'h6d; // 5
seg[6] = 7'h7d; // 6
seg[7] = 7'h07; // 7
seg[8] = 7'h7f; // 8
seg[9] = 7'h6f; // 9
end
endmodule
```
data <- read.csv("D:/air_data.csv")delet_na=data[-which(is.na(data$SUM_YR_1) |iscol=c(10,2,23,11,17,29)#去掉日期型变量 outdata<-deletdata[,col] head(outdata,3).na(data$SUM_YR_2)),] index<-((delet_na$SUM_YR_1 ==0 & delet_na$SUM_YR_2 == 0) *(delet_na$avg_discount !=0) *(delet_na$SEG_KM_SUM>0)) deletdata<-delet_na[-which(index == 1),] cleanedfile=deletdata str(cleanedfile)outdata$FFP_TIER<-as.Date(outdata$FFP_DATE) outdata$LOAD_TIME<-as.Date(outdata$LOAD_TIME) #构造时间间隔格式 library(lubridate) interval(data$FFP_DATE,data$LOAD_TIME) #以月为单位计算时长,输出时间为间隔 L<-time_length(interval, 'month') L<-round(L, 2) R<-data$LAST_TO_END F<-data$FLIGHT_COUNT M<-data$SEG_KM_SUM C<-data$avg_discount #整合数据 airdata<-data.frame(L,R,F,M,C) head(airdata) summary(airdata)Error in as.duration(x) : as.duration is not defined for class 'function'
在你的代码中,有一个语法错误。在第一行读取数据之后,你没有关闭括号。正确的代码应该是:
```
data <- read.csv("D:/air_data.csv")
```
在你的代码中,有一个变量名错误。在行中,你把`iscol`写成了`iscol=`。正确的代码应该是:
```
delet_na=data[-which(is.na(data$SUM_YR_1) | is.na(data$SUM_YR_2)), c(10,2,23,11,17,29)]
```
在你的代码中,有一个函数使用错误。在行中,你没有给`interval()`函数提供正确的参数。正确的代码应该是:
```
interval <- interval(outdata$FFP_DATE, outdata$LOAD_TIME)
```
在你的代码中,有一个变量名错误。在行中,你把`deletdata`写成了`delet_na`。正确的代码应该是:
```
cleanedfile <- deletdata
```
最后,在你的代码中,有一个语法错误。在行中,你没有给`summary()`函数提供正确的参数。正确的代码应该是:
```
summary(airdata$L, airdata$R, airdata$F, airdata$M, airdata$C)
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)