Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从表格聊天对话数据生成html_Html_R - Fatal编程技术网

从表格聊天对话数据生成html

从表格聊天对话数据生成html,html,r,Html,R,我有这张聊天对话表mydf mydf = structure(list(User = c("Ana", "Ana", "Brian", "Ana", "Brian"), Message = c("Hi", "How are you?", "Good. You?", "Ok", "What's up?"), Time = structure(c(1512156236.17704, 1512156238.67704, 1512156241.17704, 1512156243.67704, 151

我有这张聊天对话表
mydf

mydf = structure(list(User = c("Ana", "Ana", "Brian", "Ana", "Brian"), Message = c("Hi", 
"How are you?", "Good. You?", "Ok", "What's up?"), Time = structure(c(1512156236.17704, 
1512156238.67704, 1512156241.17704, 1512156243.67704, 1512156246.17704
), class = c("POSIXct", "POSIXt"))), .Names = c("User", "Message", 
"Time"), row.names = c(NA, -5L), class = "data.frame")

#> mydf
#   User      Message                Time
#1   Ana           Hi 2017-12-01 13:23:56
#2   Ana How are you? 2017-12-01 13:23:58
#3 Brian   Good. You? 2017-12-01 13:24:01
#4   Ana           Ok 2017-12-01 13:24:03
#5 Brian   What's up? 2017-12-01 13:24:06
我的目标是将这些数据转换成HTML格式的对话。我目前正在通过向数据中添加标记并保存来实现这一点。然后我必须用CSS做更多的工作,使它更好。有没有更简单的方法

#REMOVE REPEATING NAMES
mydf$User = with(rle(mydf$User), unlist(sapply(seq_along(values),
                  function(i) c(rep(values[i], 1), rep("", lengths[i] - 1)))))

#ADD TAGS
mydf$User = ifelse(mydf$User == "", "", paste0("<h2 class=\"user\">", mydf$User, "</h2>"))
mydf$Message = paste0("<h3 class=\"msg\">", mydf$Message, "</h3>")
mydf$Time = paste0("<span class=\"tm\">", mydf$Time, "</span>")

#SAVE HTML    
writeLines(paste(paste(mydf$User, mydf$Message, mydf$Time), collapse = "\n"),"~/test.html")
#删除重复的名称
mydf$User=with(rle(mydf$User))、unlist(SAPPY(seq_)以及,
函数(i)c(rep(值[i],1),rep(“,长度[i]-1()))”
#添加标签
mydf$User=ifelse(mydf$User==“”,“”,paste0(“”,mydf$User,“”)
mydf$Message=paste0(“,mydf$Message,”)
mydf$Time=paste0(“,mydf$Time,”)
#保存HTML
writeLines(粘贴(粘贴(mydf$User,mydf$Message,mydf$Time),collapse=“\n”),“~/test.html”)

我不确定这是否让您满意,但我会采用一种方法扩展
data.frame
并将其直接写入文件中

#REMOVE REPEATING NAMES
mydf$User = with(rle(mydf$User), unlist(sapply(seq_along(values),
              function(i) c(rep(values[i], 1), rep("", lengths[i] - 1)))))

#SAVE HTML    
write.table(
    data.frame(
        ifelse(mydf$User!="", "<h2 class=\"user\">",""), mydf$User, ifelse(mydf$User!="","</h2>",""),
        "<h3 class=\"msg\">", mydf$Message, "</h3>",
        "<span class=\"tm\">", mydf$Time, "</span>"),
    file = "~/test.html", quote = F, col.names = F, row.names = F )
#删除重复的名称
mydf$User=with(rle(mydf$User))、unlist(SAPPY(seq_)以及,
函数(i)c(rep(值[i],1),rep(“,长度[i]-1()))”
#保存HTML
写表(
数据帧(
ifelse(mydf$User!=“”、“”、“”)、mydf$User、ifelse(mydf$User!=“”、“”、“”),
“”,mydf$消息,“”,
“,mydf$Time,”,
file=“~/test.html”,quote=F,col.names=F,row.names=F)