логическое пустое значение в R - PullRequest
0 голосов
/ 27 ноября 2018

После этого выражения

good.rows<-ifelse(nchar(ufo$DateOccurred)!=10 | nchar(ufo$DateReported)!=10, 
FALSE, TRUE) 

Я ожидал получить векторы логических величин, но получил

length(good.rows)

[1] 0

Это логично (пусто)как я вижу в R studio.Что я могу сделать, чтобы решить эту проблему?

dput (head (ufo))

"structure(list(DateOccured = structure(c(9412, 9413, 9131, 9260, 
9292, 9428), class = "Date"), DateReported = structure(c(9412, 
9414, 9133, 9260, 9295, 9427), class = "Date"), Location = c(" Iowa City, IA", 
" Milwaukee, WI", " Shelton, WA", " Columbia, MO", " Seattle, WA", 
" Brunswick County, ND"), ShortDescription = c(NA_character_, 
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_
), Duration = c(NA, "2 min.", NA, "2 min.", NA, "30 min."), LongDescription = c("Man repts. witnessing &quot;flash, followed by a classic UFO, w/ a tailfin at back.&quot; Red color on top half of tailfin. Became triangular.", 
"Man  on Hwy 43 SW of Milwaukee sees large, bright blue light streak by his car, descend, turn, cross road ahead, strobe. Bizarre!", 
"Telephoned Report:CA woman visiting daughter witness discs and triangular ships over Squaxin Island in Puget Sound. Dramatic.  Written report, with illustrations, submitted to NUFORC.", 
"Man repts. son&apos;s bizarre sighting of small humanoid creature in back yard.  Reptd. in Acteon Journal, St. Louis UFO newsletter.", 
"Anonymous caller repts. sighting 4 ufo&apos;s in NNE sky, 45 deg. above horizon.  (No other facts reptd.  No return tel. #.)", 
"Sheriff&apos;s office calls to rept. that deputy, 20 mi. SSE of Wilmington,  is looking at peculiar, bright white, strobing light."
)), row.names = c(NA, 6L), class = "data.frame")"

1 Ответ

0 голосов
/ 27 ноября 2018

Существует несколько причин, по которым это может происходить:

  • Ваш набор данных пуст, проверьте это с помощью метода dim ().
  • Столбцы не относятся к типу Символ. Проверьте это с помощью метода class ().
  • Если оба они верны, попробуйте выполнить операторы nchar (...) отдельно.

Ниже я создаю пример, который работает правильно, где я прошел вышеупомянутые шаги.В будущем, пожалуйста, предоставьте воспроизводимый пример как часть вашего вопроса.

# Create sample data
ufo <- data.frame(DateOccurred=c("a","bb","ccc"), 
                  DateReported=c("a","bb","ccc"), 
                  stringsAsFactors = FALSE)
print(ufo)

# Check size of data (make sure data has rows and columns are of type Character)
dim(ufo)
class(ufo$DateOccurred)
class(ufo$DateReported)

# Check nchar statements (Should run without error/warnings)
nchar(ufo$DateOccurred)
nchar(ufo$DateReported)

# Actual 
good.rows <- ifelse(nchar(ufo$DateOccurred)!=3 | nchar(ufo$DateReported)!=3,
                    FALSE, TRUE)
print(good.rows)
length(good.rows)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...